SQL语句操作练习(一)

题目

利用Student、Course、SC表结构实现如下操作: 1.查询学生选课表中的全部数据 2.查询计算机系的学生的姓名、年龄 3.查询成绩在70-80分之间的学生的学号、课程号和成绩 4.查询计算机系年龄在18-20之间且性别为“男”的学生的姓名、年龄 5.查询课程号为“c001”的课程的最高的分数 6.查询计算机系学生的最大年龄和最小年龄 7.统计每个系的学生个数 8.统计每门课程的选课人数和考试最高分数 9.统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果 10.查询总成绩超过200分的学生,要求列出学号、总成绩

查询学生选课表中的全部数据

sql语句:

SELECT * FROM SC;

运行效果:

查询计算机系的学生的姓名、年龄

sql语句:

SELECT Sname, Sage FROM Student WHERE Sdept = 计算机系;

运行效果:

查询成绩在70-80分之间的学生的学号、课程号和成绩

sql语句:

SELECT Sno, Cno, Grade FROM SC WHERE Grade BETWEEN 70 AND 80;

运行效果:

查询计算机系年龄在18-20之间且性别为“男”的学生的姓名、年龄

sql语句:

SELECT Sname, Sage FROM Student WHERE Sdept = 计算机系 AND Sage BETWEEN 18 AND 20 AND Ssex = 男;

运行效果:

查询课程号为“c001”的课程的最高的分数

sql语句:

SELECT MAX(Grade) AS 最高分数 FROM SC WHERE Cno = c001;

运行效果:

查询计算机系学生的最大年龄和最小年龄

sql语句:

SELECT MAX(Sage) AS 最大年龄, MIN(Sage) AS 最小年龄 FROM Student WHERE Sdept = 计算机系;

运行效果:

统计每个系的学生个数

sql语句:

SELECT Sdept, COUNT(Sno) AS 学生人数 FROM Student GROUP BY Sdept;

运行效果:

统计每门课程的选课人数和考试最高分数

sql语句:

SELECT Cno, COUNT(Sno) AS 选课人数, MAX(Grade) AS 考试最高分数 FROM SC GROUP BY Cno;

运行效果:

统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果

sql语句:

SELECT Sno, COUNT(Cno) AS 选课门数, SUM(Grade) AS 考试总成绩 FROM SC GROUP BY Sno ORDER BY COUNT(Cno);

运行效果:

查询总成绩超过200分的学生,要求列出学号、总成绩

sql语句:

SELECT Sno, SUM(Grade) AS 总成绩 FROM SC GROUP BY Sno HAVING SUM(Grade) > 200;

运行效果:

考察内容

1.查询语句

SELECT 列名 FROM 表名 查询条件

2.条件查询 where、having 区别: where在分组之前进行限定,若不满足条件,则不参与分组。 having在分组之后进行限定,若不满足结果,则不会被查询出来

运算符:

、< 、<=、>=、=、<>不等于、!=不等于 BETWEEN…AND --在…之间 IN(集合) LIKE --模糊查询 占位符: _ : 单个任意字符 % : 多个任意字符 IS NULL and 或 && --和 or 或 || --或者 not 或 ! --不

3.分组查询 group by

group	by	分组字段;

4.排序查询 order by

order	by	子句
order	by	排序字段1	排序方式1,	排序字段2	排序方式2. . .

排序方式: ASC:升序,默认的 DESC:降序 5.聚合函数 聚合函数:将一列数据作为一个整体,进行纵向的计算 (1)count:计算个数 (2)max:计算最大值 (3)min:计算最小值 (4)sum:计算和 (5)avg:计算平均值

SELECT MAX(字段名) FROM 表名;
经验分享 程序员 微信小程序 职场和发展