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

作者:宁在春 时间:2024-01-14 17:34:29 

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 )

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


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

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

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

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


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

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

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

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


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

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

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

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


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;

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

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

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


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

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

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

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


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

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

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

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


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 四种连接和多表查询详解

来源:https://blog.csdn.net/weixin_45821811/article/details/116074923

标签:MySQL连接,多表查询
0
投稿

猜你喜欢

  • vue实现移动端图片裁剪上传功能

    2024-05-10 14:15:04
  • Dreamweaver使用快技法十三则总结

    2008-05-01 17:32:00
  • phpMyAdmin下载、安装和使用入门

    2007-06-15 11:00:00
  • php+mysql开发的最简单在线题库(在线做题系统)完整案例

    2023-08-21 20:03:14
  • sql语句优化之SQL Server(详细整理)

    2024-01-15 14:07:08
  • Mysql事务操作失败如何解决

    2024-01-27 15:17:50
  • 使用keras和tensorflow保存为可部署的pb格式

    2022-11-11 16:42:03
  • 解决python运行启动报错问题

    2022-08-13 06:44:15
  • Python3 max()函数基础用法

    2021-04-16 06:53:26
  • Python将多份excel表格整理成一份表格

    2022-06-11 13:54:50
  • win2008 R2 WEB环境配置之MYSQL 5.6.22安装版安装配置方法

    2024-01-25 10:25:17
  • 详解js前端代码异常监控

    2024-04-22 13:06:26
  • Python+OpenCV 实现图片无损旋转90°且无黑边

    2021-11-09 17:04:12
  • golang 的string与[]byte转换方式

    2024-03-08 20:01:40
  • ORACLE常用数值函数、转换函数、字符串函数

    2023-07-21 02:03:40
  • instanceof 内部机制探析

    2009-09-25 13:09:00
  • 简单谈谈python中的语句和语法

    2023-03-03 12:03:13
  • pyqt和pyside开发图形化界面

    2022-05-06 18:10:08
  • Python任务调度模块APScheduler使用

    2021-08-23 05:45:44
  • python简单获取数组元素个数的方法

    2023-03-08 15:39:29
  • asp之家 网络编程 m.aspxhome.com