sql练习题

sql语句练习50题(Mysql版)

Mysql数据库使用:学生选课系统,其中设计到三张表,分别为学生表,课程表,学生和课程对应的关联表。

笔试常用:
1、查A课程比B课程成绩高的所有学生学号

SELECT a.s_id 
	FROM score a,score b
	WHERE a.s_id=b.s_id
	AND a.c_id='01'
	AND b.c_id='02'
	AND a.s_score>b.s_score

2、查名字含“王”的老师的个数

SELECT COUNT(t_id) FROM teacher WHERE t_name LIKE '%王%';

3、查平均成绩大于90的学生sid和平均成绩

SELECT s_id,ROUND(AVG(s_score),2) AS avg_score 
        FROM  score
	GROUP BY s_id HAVING avg_score>=80;

4、查各科最高分最低分,,以如下形式显示:课程ID,最高分,最低分

SELECT a.c_id,MAX(s_score),MIN(s_score)
	FROM score a  GROUP BY a.c_id

补充(可查看——sql语句练习50题(Mysql版)):
– 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数
– 6、查询"李"姓老师的数量
– 3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
– 18、查询各科最高最低分,以如下形式显示:课程ID,课程name,最高分,最低分

SELECT a.c_id,b.c_name,MAX(s_score),MIN(s_score)
	FROM score a LEFT JOIN course b ON a.c_id = b.c_id GROUP BY a.c_id,b.c_name