where链接:略
from链接:略
教职工表Teacher(Tno, TName, age, sal, mgr, DNo),TNo为教职工编号,TName为教职工姓名,age年龄,sal为月薪,mgr为教职工的上一级领导的职工号,DNo为部门号;
课程表Course(Cno, CName, CCredits, CTno),Cno为课程编号,CName为课程名字,CCredits为课程学分, CTno为该课程上课老师的编号,其中外键CTno来自表Teacher的Tno键;
学生表Student(Sno, CLno, SName, SSex, SBir, Email),其中Sno为学生学号,CLno为系别编号,SName为学生姓名,SSex为学生性别,SBir为学生出生日期;
学生选课表SC(Sno, Cno, Score)。
SELECT student.SNo,SName
FROM student INNER JOIN sc ON student.SNo=sc.SNo
INNER JOIN course ON sc.CNo=course.CNo
INNER JOIN teacher ON course.CTno=teacher.Tno
WHERE TName='张三'
6. 查询和马行空在同一个系的学生名字;
7. 查询001号课程的最高分学生学号和姓名;
8. 使用IN查询教师张七的下属教师名字;
9. 使用NOT IN查询未选修”数据库”课程的学生学号;
10. 使用EXISTS查询00014号选修的课程名;
11. 使用NOT EXISTS查询00014号未选修的课程名;
12. 查询选修了两名课程及以上的学生姓名和学号;
13. 查询选修了所有课程的学生学号、姓名;
14. 在选修课001中,使用ALL查询比学号00001和学号00004的成绩都低的学生学号;
SELECT SNO
FROM SC
WHERE CNo='001' AND score<ALL
(SELECT score
FROM SC WHERE (SNO='00001' OR SNO='00004') AND CNo='001')
SELECT SNO
FROM SC
WHERE CNo='001' AND score<ANY
(SELECT score
FROM SC WHERE (SNO='00001' OR SNO='00004') AND CNo='001')
select *
from course
where CName regexp '^[a-z]*[a-z]$';