SELECT * FROM 表名 别名1, 表名 别名2
自身连接查询的连接对象变成自己和自己了。
例如1:student 表自身连接查询
# 自身连接查询,笛卡尔积:81 条数据 select * from student t1, student t2; # 自身连接查询,只展示出:t1.sid = t2.sid,有 9 条数据 select * from student t1, student t2 where t1.sid = t2.sid;

例如2:查询学生表自身连接,只展示出:t1.sid = t2.sid 的 t1学生姓名,t2学生年龄
select t1.name as 't1姓名', t2.age as 't2年龄' from student t1, student t2 where t1.sid = t2.sid;
外连接查询
-
通过使用
inner join

-
通过使用
left join进行左连接,不仅会返回两个表满足条件的交集部分,也会返回左边表中的全部数据,而在右表中缺失的数据会使用null来代替(右连接right join同理,只是反过来而已,这里就不再介绍了):

例如1:查询出 teach 表中有被授课学生的学生详情【使用 inner join 包含了老师的编号 stu.sid = teach.sid】
select stu.*, teach.tid as '老师编号' from student stu inner join teach on stu.sid = teach.sid;
重点理解:inner join 取两张表的交集部分!
例如2:查询出 teach 表中有授课老师的老师详情,学生学号
-- 查询有被授课的学生详情 select t.*, teach.sid from teacher t inner join teach on t.tid = teach.tid;
查询的结果中:表名.* 意为:展示表中所有的属性信息,例如:stu.* 展示student表中所有属性信息!