SQL连接查询

等值连接

查询每个学生及其选修课程的情况

SELECT student.*, sc.*
FROM student, sc
WHERE student.`Sno`=sc.`Sno`;

SQL连接查询

对上例进行自然连接,消除重复Sno列

SELECT student.*, sc.`Cno`, sc.`Grade`
FROM student, sc
WHERE student.`Sno`=sc.`Sno`;

SQL连接查询

自身连接

需要给表起别名以示区别

查询每一门课的间接先修课(即先修课的先修课)

SELECT first.`Cname`, second.`Cname` CproName 
FROM course FIRST, course SECOND
WHERE first.`Cpno`=second.`Cno`;

SQL连接查询

外连接

外连接操作以指定表为连接主体,将主体表中不满足连接条件的 元组一并输出

使用外连接查询每个学生及其选修课程的情况

SELECT student.*, sc.`Cno`, sc.`Grade`
FROM student LEFT OUTER JOIN sc ON student.`Sno`=sc.`Sno`;

SQL连接查询

复合条件连接

WHERE 子句中含多个连接条件

查询选修 2 号课程且成绩在 90 分以上的所有学生的学号和姓名

SELECT student.`Sno`, student.`Sname`
FROM student, sc
WHERE student.`Sno`=sc.`Sno` AND sc.`Cno`='2' AND sc.`Grade`>=90;

SQL连接查询

查询每个学生的学号、姓名、选修的课程名及成 绩

SELECT student.`Sno`, student.`Sname`, course.`Cname`, sc.`Grade`
FROM student, course, sc
WHERE student.`Sno`=sc.`Sno` AND sc.`Cno`=course.`Cno`;

SQL连接查询

上一篇:ESPIDF开发ESP32学习笔记【HTTP客户端实现】


下一篇:Android 7.0以上版本 HTTPS 抓包解决方法