(二)连接查询
TA表:
TB表:
1.多表内连接查询
语法:
FROM 表1 INNER JOIN 表2 on 关联条件
特点:
保留两表中满足关联条件的所有记录
需求:查询学生的学号、姓名、成绩
select * from ta inner join tb on ta.tid = tb.tid
旧表名 新表名:为给表重命名,此处省略as
2.左外连接查询
表1 LEFT JOIN 表2 on 关联条件
特点:
不但保留两表中满足关联条件的所有记录,并且补全左表(join 之后的永远为右表,另外一张为左表)
需求:查询学生的学号、姓名、成绩,如果没有成绩成绩的学生也要列出
select * from ta left join tb on ta.tid = tb.tid
3.右外连接查询
表1 RIGHT JOIN 表2 on 关联条件
特点:
保留两表中满足关联条件的所有记录,并且补全右表
需求:查询学生的学号、姓名、成绩,如果没有姓名的也要列出
select * from ta right join tb on ta.tid = tb.tid
4.全连接查询
表1 FULL JOIN 表2 on 关联条件
特点:
保留两表中满足关联条件的所有记录,并且分别补全左右表
需求:查询学生的学号、姓名、成绩,不论有没有成绩和姓名都要列出
select * from ta full join tb on ta.tid = tb.tid
5.笛卡尔积
表1 INNER JOIN 表2
特点:
将表1的所有记录都去关联一遍表2的所有记录,即没有关联条件,列出两表可能出现的所有排列组合,慎用!!
需求:查询学生的学号、姓名、成绩,列出所有可能出现的组合
select * from ta cross join tb
作者:郭佳豪 创建时间:2023-10-18 09:52
最后编辑:郭佳豪 更新时间:2023-10-18 17:30
最后编辑:郭佳豪 更新时间:2023-10-18 17:30