自连接
自连接是一种特特殊的内连接,是指在物理上为同一张表,在逻辑上将其看成两张表。也就是一张表作为多张表使用,或者是自己连接自己。
注意: 要让物理上的一张表在逻辑上为两个表,必须通过为表取别名的方法实现。
FROM 表1 T1 --在内存中生成表名为“T1”的表
JOIN 表1 T2 --在内存中生成表明为“T2”的表
-
查询与刘晨在同一个系学习的学生的姓名和所在系
SELECT S2.Sname,S2.Sdept FROM Student AS S1 INNER JOIN Student AS S2 ON S1.Sdept = S2.Sdept --是同一个系的学生 WHERE S1.Sname='刘晨' --S1作为条件查询表 AND S2.Sname!='刘晨'; --S2作为结果表,将“刘晨”从结果删去
-
查询与数据结构相同的课程的名称和学分
SELECT C2.Cname,C2.Credit FROM Course AS C1 INNER JOIN Course AS C2 ON C1.Credit=C2.Credit WHERE C1.Cname='数据结构' ;