1.查询和学号11328、11427同学同年出生的所有学生的stu_num、stu_name、stu_birth;
查询11328与11427:
mysql> select * from student where stu_num in (11328,11427); +---------+----------+---------+---------------------+-------+ | stu_num | stu_name | stu_sex | stu_birth | class | +---------+----------+---------+---------------------+-------+ | 11328 | DingQi | F | 1994-08-15 00:00:00 | 113 | | 11427 | NanNan | F | 1995-10-20 00:00:00 | 114 | +---------+----------+---------+---------------------+-------+
查询年份:使用year函数:
mysql> select year(stu_birth) from student where stu_num in (11328,11427); +-----------------+ | year(stu_birth) | +-----------------+ | 1994 | | 1995 | +-----------------+
查询同年出生所有同学:
mysql> select stu_name,stu_birth,stu_num
-> from student
-> where year(stu_birth)
-> in (select year(stu_birth) from student where stu_num in (11328,11427));
+----------+---------------------+---------+
| stu_name | stu_birth | stu_num |
+----------+---------------------+---------+
| DingQi | 1994-08-15 00:00:00 | 11328 |
| LinJie | 1994-06-12 00:00:00 | 11424 |
| XieZhou | 1995-03-11 00:00:00 | 11425 |
| NanNan | 1995-10-20 00:00:00 | 11427 |
+----------+---------------------+---------+
2.查询教师姓名为ShaoGuoYing任课课程的学生成绩:
查询教师编号:
mysql> select tea_num from teacher where tea_name='ShaoGuoYing'; +---------+ | tea_num | +---------+ | 0438 | +---------+
教师所对应的课程号:
mysql> select cour_num from course
-> where tea_num = ( select tea_num from teacher where tea_name='ShaoGuoYing');
+----------+
| cour_num |
+----------+
| 1-245 |
+----------+
查询课程成绩:
mysql> select * from score
-> where cour_num=(select cour_num from course where tea_num=(select tea_num from teacher where tea_name='ShaoGuoYing'));
+---------+----------+--------+
| stu_num | cour_num | degree |
+---------+----------+--------+
| 11423 | 1-245 | 84 |
| 11426 | 1-245 | 61 |
| 11427 | 1-245 | 78 |
+---------+----------+--------+
3.查询选修某课程的同学人数多于2人的教师姓名:
mysql> select cour_num,count(*) from score group by cour_num; +----------+----------+ | cour_num | count(*) | +----------+----------+ | 1-245 | 3 | | 2-271 | 3 | | 3-105 | 1 | | 4-321 | 1 | +----------+----------+
人数大于2的课程:
mysql> select cour_num from score group by cour_num having count(*) > 2; +----------+ | cour_num | +----------+ | 1-245 | | 2-271 | +----------+
查找课程教师编号:
mysql> select tea_num from course where cour_num in (select cour_num from score group by cour_num having count(*) > 2); +---------+ | tea_num | +---------+ | 0435 | | 0438 | +---------+
查询教师姓名:
mysql> select tea_name from teacher
-> where tea_num in (select tea_num from course where cour_num in (select cour_num from score group by cour_num having count(*) > 2));
+-------------+
| tea_name |
+-------------+
| LiMei |
| ShaoGuoYing |
+-------------+
一步一步查询再嵌套。