between和⼤于⼩于效率_SQL基础复习及如何提⾼SQL查询
语句效率
⼀、简单查询
1.查姓”猴“的学⽣名单
SELECT *
FROM student
WHERE 姓名 LIKE '猴%';
2.查询姓”孟“⽼师的个数
SELECT COUNT(*) 个数
FROM teacher
WHERE 教师姓名 LIKE '孟%';
⼆、汇总分析
1.查询课程编号为”0002“的总成绩
SELECT SUM(成绩) 总成绩
FROM score
WHERE 课程号='0002'
2.查询选了课程的学⽣⼈数
SELECT COUNT(DISTINCT 学号) AS 学⽣⼈数
FROM score;
3.查询各科成绩最⾼和最低分,以如下的形式显⽰:课程号、最⾼分、最低分
SELECT 课程号,MAX(成绩) 最⾼分,MIN(成绩) 最低分FROM scorejoin和in哪个查询更快
GROUP BY 课程号;
4.查询每门课程被选修的学⽣数
SELECT 课程号,COUNT(*) 学⽣数
FROM score
GROUP BY 课程号;
5.查询男⽣、⼥⽣⼈数
SELECT 性别,COUNT(*) ⼈数
FROM student
GROUP BY 性别;
6.查询平均成绩⼤于60分学⽣的学号和平均成绩
SELECT 学号,AVG(成绩) 平均成绩
FROM score
GROUP BY 学号
HAVING AVG(成绩)>60;
7.查询⾄少选修两门课程的学⽣学号
SELECT 学号,COUNT(课程号) 课程数
FROM score
GROUP BY 学号
HAVING COUNT(*)>=2;
8.查询同名同姓(相同姓名)学⽣名单并统计同名⼈数
SELECT 姓名,COUNT(*) ⼈数
FROM student
GROUP BY 姓名
HAVING COUNT(*)>=2;
9.查询不及格的课程并按课程号从⼤到⼩排列
SELECT 课程号,成绩
FROM score
WHERE 成绩<60
ORDER BY 课程号 DESC;
10.查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论