首页
学习
活动
专区
圈层
工具
发布

mysql学习笔记(五)联合查询

内连接

A∩B

包含A*B的笛卡尔积并从中选出符合条件的

  • select 字段列表 from A表名 inner join B表名 on 关联条件 where 其他条件

如果没有条件判断会产生笛卡尔集,总数量为A表数量*B表数量。

例如SELECT * FROM employee inner join department;

  • select 字段列表 from A表名 inner join B表名 inner join C表名 on 2个关联条件 where 其他条件

外连接

左外连接

A

A-A∩B

包含左表的所有内容

  • select 字段列表 from A表名 left join B表名 on 关联条件 where 其他条件

例如SELECT * FROM employee left join department;

右外连接

B

B-A∩B

包含右表的所有内容

  • select 字段列表 from A表名 right join B表名 on 关联条件 where 其他条件

例如SELECT * FROM employee right join department;

全外连接

A∪B

A∪B-A∩B

包含左表的所有内容和右表的所有内容,以员工和部门为例,包括没有部门的员工和没有员工的部门

  • select 字段列表 from A表名 left join B表名 on 关联条件 where 其他条件 UNION select 字段列表 from A表名 right join B表名 on 关联条件 where 其他条件

例如SELECT * FROM employee left join department on employee.id=department.did union SELECT * FROM employee right join department on employee.id=department.did;

下一篇
举报
领券