MySQL连接查询(内连接和外连接)详解-实战总结

  • Post author:
  • Post category:mysql


一、什么是内连接查询?


查询AB表之间交集的数据

二、什么是外连接查询?


左外连接查询 :查询A表所有数据和交集部门数据


右外连接查询 : 查询B表所有数据和交集部分数据

下面详细举例解释

1、内连接查询

分类:隐式内连接和显式内连接

关键字:WHERE(隐式内连接),[INNER] JOIN ON(显式内连接)

语法:

— 隐式内连接

SELECT 字段列表 FROM 表1,表2… WHERE 条件;

— 显示内连接

SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 条件;

案例:查询员工所在的部门,员工表emp,部门表dept,外健dept_id

隐式内连接:select * from emp,dept where emp.dep_id = dept.did;

显式内连接:select * from emp inner join dept on emp.dep_id = dept.did;语句中的inner可以省略

2、外连接查询

分类:左外连接和右外连接

关键字:left join on(左外连接),right join on(右外连接)

语法:

— 左外连接

SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件;

— 右外连接

SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件;

案例:

2.1左外连接:查询员工表emp表所有数据和对应的部门表dept的信息

select * from emp left join dept on emp.dep_id = dept.did;

2.2右外连接:查询部门表dept表所有数据和对应的员工信息

select * from emp right join dept on emp.dep_id = dept.did;



版权声明:本文为m0_46796409原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。