> 文档中心 > MySQL数据库实验二 数据基本查询

MySQL数据库实验二 数据基本查询


★观前提示:本篇内容为mysql数据库实验,代码内容经测试过,可能一小部分有所疏漏,也有会不符合每个人实验的要求的地方,因此以下内容建议仅做思路参考,。

一、实验目的

1.掌握SQL查询语句的一般格式 。
2.掌握简单数据查询操作。
3.熟练掌握各种查询条件的表示。
4.掌握排序和分组操作在SQL语句中的实现。
5.掌握集函数的使用。

二、实验要求

借助SQL语言用各种查询条件完成指定的查询操作。

★温馨提示:以下内容均已经过测试,不过难免会有疏漏,但是代码实现大多数思路及实现经测验都是正确的。本节实验内容以及之后实验内容均在navicat数据库管理工具上实现

三、实现内容及步骤

(1)查询全体学生学号和姓名。

SELECT sno,sname FROM student;

(2)查询全体学生的详细记录。

SELECT * FROM student;

(3)查询软件学院的学生姓名、年龄、系别。

SELECT sname,sage,sinstitueFROM studentWHERE sinstitue='计软学院';

(4)查询所有选修过课程的学生学号(不重复)。

SELECT DISTINCT snoFROM scWHERE cno is NOT NULL;

5)查询考试不及格的学生学号(不重复)。

SELECT DISTINCT snoFROM scWHERE grade<60;

(6)查询不是软件学院、计算机系的学生性别、年龄、系别。

SELECT ssex,sage,sdeptFROM studentWHERE sinstitue NOT LIKE '计软学院' AND sdept NOT LIKE '计科';

(7)查询年龄18-20岁的学生学号、姓名、系别、年龄。

SELECT sno,sname,sdept,sageFROM studentWHERE sage BETWEEN 18 AND 20;

(8)查询姓刘的学生情况。

SELECT *FROM studentWHERE sname LIKE '刘%';

(9)查询姓刘或姓李的学生情况。

SELECT *FROM studentWHERE sname LIKE '刘%' OR sname LIKE '李%';

(10)查询姓刘且名字为两个字的学生情况。

SELECT *FROM studentWHERE sname LIKE '刘_';

(11)查询1983年以后出生的学生姓名。

SELECT snameFROM studentWHERE YEAR(scome)>1983;

(12)创建表 studentgrad(sno,mathgrade,englishigrade,chinesegrade)
计算学生各科总成绩并赋予别名。

SELECT mathgrade + englishgrade + chinesegrade AS '总成绩'FROM studentgrade;

(13)利用内部函数 year()查找软件学院学生的出生年份。

SELECT YEAR(scome)FROM studentWHERE sinstitue = '计软学院';

(14)利用字符转换函数实现字符联接。Select sname + ‘年龄为’+cast(sage as char(2))+’岁’ From student;

SELECT CONCAT(sname,'年龄为',CAST(sage AS char(2)),'岁')FROM student;

(15)查询全体学生情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。

SELECT *FROM studentORDER BY sdept ASC,sage DESC;

(16)查询学生总人数。

SELECT COUNT(DISTINCT sno)FROM student;

(17)查询选修了课程的学生人数。

SELECT COUNT(DISTINCT sno)FROM scWHERE cno IS NOT NULL;

(18)查询选修了7号课程的学生总人数和平均成绩。

SELECT COUNT(sno) AS '总人数',AVG(grade) AS '平均成绩'FROM scWHERE cno = '1';

(19)查询选修6号课程学生的最好成绩。

SELECT MAX(grade)FROM scWHERE cno='6';

(20)查询每个系的系名及学生人数。

SELECT sdept,COUNT(sno)FROM studentGROUP BY sdept;

(21)查找每门课的选修人数及平均成绩。

SELECT cno,COUNT(sno),AVG(grade)FROM scGROUP BY cno;

(22)查找没有先修课的课程情况。

SELECT *FROM courseWHERE cpno IS NULL;

四、实验总结

1、掌握了SQL查询语句的一般格式,简单数据查询操作。

2、能够熟练地进行各种查询条件的表示。

3、基本掌握了排序和分组操作在SQL语句中的实现、以及集函数的使用。

2022.6.14记录:Code_流苏(CSDN)
如有任何疑问,评论回复,看到即回,欢迎大家多多交流学习!
★以上实验内容仅供参考。