主页 > 知识库 > MySQL 四种连接和多表查询详解

MySQL 四种连接和多表查询详解

热门标签:外东北地图标注 大众点评星级酒店地图标注 临清电话机器人 拉卡拉外呼系统 智能外呼系统复位 话务外呼系统怎么样 400电话可以办理吗 高清地图标注道路 云南电商智能外呼系统价格

MySQL 内连接、左连接、右连接、外连接、多表查询

构建环境:

create table t_emp(
	id int primary key, 
	name varchar(20),
	deptId int
);
create table t_dept(
	id int primary key,
	name varchar(20)
);
insert into t_dept(id, name) values(1, '设计部');
insert into t_dept(id, name) values(2, '开发部');
insert into t_dept(id, name) values(3, '测试部');
insert into t_emp(id, name, deptId) values(1, '张三', 1);
insert into t_emp(id, name, deptId) values(2, '李四', 2);
insert into t_emp(id, name, deptId) values(3, '王五', 0);
# ps:为了说明方便,t_emp 表 说成 A 表, t_dept 表说成 B 表

目录

一、INNER JION 内连接 ( A ∩ B )

SELECT * FROM t_emp e INNER JOIN t_dept d ON  e.deptId = d.id;

二、LEFT JOIN 左外连接( A 全有 )

SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id;

三、RIGHT JOIN 右外连接 (B 全有)

SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id;

四、FULL JOIN 全外连接( A + B)

SELECT * FROM t_emp e LEFT JOIN t_dept d 
ON e.deptId = d.id UNION 
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id;

五、LEFT Excluding JOIN ( A - B 即 A 表独有)+

SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id is null;

六、RIGHT Excluding JOIN ( B - A 即 B表独有)

SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id is null;

七、OUTER Excluding JOIN (A 与 B 各自独有)

SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id is null
UNION
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id is null;

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

您可能感兴趣的文章:
  • MySQL多表查询的具体实例
  • MySQL数据库高级查询和多表查询
  • MySQL多表查询详解下
  • MySQL多表查询详解上
  • 浅谈MySQL使用笛卡尔积原理进行多表查询

标签:温州 福州 山西 定西 三明 扬州 阿里 无锡

巨人网络通讯声明:本文标题《MySQL 四种连接和多表查询详解》,本文关键词  MySQL,四种,连,接和,多表,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《MySQL 四种连接和多表查询详解》相关的同类信息!
  • 本页收集关于MySQL 四种连接和多表查询详解的相关信息资讯供网民参考!
  • 推荐文章