33.多表查询-外连接查询

发布时间 2024-01-03 21:41:22作者: 想要暴富的小男孩

目录

 
  • 外连接介绍
  • 左连接
  • 内连接

外连接

 
  • 外连接查询:查询多个表中相关联的行,有时候需要包含没有关联的行中数据,即返回查询结果集合中不仅包含符合连接条件的行,还包括左表(左连接)、右表(右连接)中的所有数据行。

  • 左外连接 , 使用 LEFT OUTER JOIN , OUTER 可以省略

  • 右外连接 , 使用 RIGHT OUTER JOIN , OUTER 可以省略

示例

 

左连接

 
  • 左连接:以左表为基准匹配右表的数据,右表中没有的项,显示为空

  • 语法:SELECT [字段] FROM [左表] LEFT JOIN [右表] ON [条件]

  • 例子:公司新成立人力资源部,还未招聘员工,请使用左连接查询方式查询出公司所有部门员工的员工号,姓名,性别以及他们所在的部门名称和城市

#向部门表中插入人力资源部
INSERT INTO dept VALUES(4,'人力资源部','甄嬛','北京');
#查询出需要的数据
SELECT emp_id,ename,gender,dept_name,dept_location 
FROM dept LEFT JOIN emp_part ON dept.id=emp_part.dept_id

右连接

 
  • 右连接:以右表为基准匹配左表的数据,左表中没有的项,显示为空

  • 语法:SELECT [字段] FROM [左表] RIGHT JOIN [右表] ON [条件]

  • 使用右连接的方式查询出所有员工信息以及他们所在的部门名称和城市

总结

 
  • 内连接: inner join
  • 左连接: left join
  • 右连接: right join
  • 内连接和左连接使用居多