准备工作,导入表数据
MySQL准备数据以及sql题目
teacher表:
student表:
score表:
course表:
1、查询男生、女生人数
男生人数(1:男,2:女)
SELECT COUNT() FROM student s WHERE s.student_sex=1;
结果:
可以优化取别名
SELECT COUNT() as “男生” FROM student s WHERE s.student_sex=1;
女生人数(1:男,2:女)
SELECT COUNT(*) as “女生” FROM student s WHERE s.student_sex=2;
结果:
说明:COUNT() 函数返回匹配指定条件的行数
2、查询姓“李”的学生名单
SELECT s.student_name FROM student s where s.student_name LIKE “李%”;
说明:LIKE匹配模糊
3、查询姓“李”的老师的个数
SELECT COUNT(t.teacher_name) FROM teacher t WHERE t.teacher_name LIKE “李%”
4、查询选了课程的学生人数
SELECT COUNT(DISTINCT(student_id)) FROM score;
DISTINCT 用于返回唯一不同的值,语法:SELECT DISTINCT 列名称 FROM 表名称
5、查询选修“c004”课程分数小于60,按分数降序排列的同学学号
SELECT s.student_id FROM score s WHERE s.score <60 AND s.course_id=‘c004’ ORDER BY s.score DESC