Mysql中常用的join连接方式


Posted in MySQL onMay 11, 2022

1.首先准备两张表

部门表:

Mysql中常用的join连接方式

员工表:

Mysql中常用的join连接方式

以下我们就对这两张表进行不同的连接操作

1.内连接

作用: 查询两张表的共有部分

语句:Select from tableA A Inner join tableB B on A.Key = B.Key

示例:SELECT * from employee e INNER JOIN department d on e.dep_id = d.id;

结果显示:通过这个查找的方法,我们没有查到id为8的数据

Mysql中常用的join连接方式

2.左连接

作用:把左边表的内容全部查出,右边表只查出满足条件的记录

语句:Select from tableA A Left Join tableB B on A.Key = B.Key

示例:SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id;

结果显示:

Mysql中常用的join连接方式

3.右连接

作用:把右边表的内容全部查出,左边表只查出满足条件的记录

语句:Select from tableA A Left Join tableB B on A.Key = B.Key

示例:SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id;

结果显示:

Mysql中常用的join连接方式

4.查询左表独有数据

作用:查询A的独有数据

语句:Select from tableA A Left Join tableB B on A.Key = B.Key where B.key IS NULL

示例:SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id WHERE d.id IS NULL;

结果显示:

Mysql中常用的join连接方式

5.查询右表独有数据

作用:查询B的独有数据

语句:Select from tableA A Right Join tableB B on A.Key = B.Key where A.key IS NULL

示例:SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id WHERE e.id IS NULL;

结果显示:

Mysql中常用的join连接方式

6.全连接

作用:查询两个表的全部信息

语句:Select from tableA A Full Outter Join tableB B on A.Key = B.Key

注:Mysql 默认不支持此种写法 Oracle支持       可以使用将左连接与右连接结合起来作为全连接

示例:

SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id
UNION
SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id

结果显示:

Mysql中常用的join连接方式

7.查询左右表各自的独有的数据

作用:查询A和B各自的独有的数据

语句:Select from tableA A Full Outter Join tableB B on A.Key = B.Key where A.key = null or B.key=null

示例:

SELECT * from employee e LEFT JOIN department d on e.dep_id = d.id WHERE d.id is NULL
UNION
SELECT * from employee e RIGHT JOIN department d on e.dep_id = d.id WHERE e.dep_id is NULL

结果显示:

Mysql中常用的join连接方式

总结

到此这篇关于Mysql中常用的几种join连接方式的文章就介绍到这了!

MySQL 相关文章推荐
详解MySQL 联合查询优化机制
May 10 MySQL
浅谈mysql执行过程以及顺序
May 12 MySQL
MySQL 隔离数据列和前缀索引的使用总结
May 14 MySQL
MySQL大小写敏感的注意事项
May 24 MySQL
MySql开发之自动同步表结构
May 28 MySQL
Mysql文件存储图文详解
Jun 01 MySQL
MySQL为id选择合适的数据类型
Jun 07 MySQL
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
Jun 26 MySQL
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
Jul 01 MySQL
详解Mysq MVCC多版本的并发控制
Apr 29 MySQL
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
Aug 14 MySQL
MySQL的prepare使用以及遇到的bug
May 11 #MySQL
MySQL批量更新不同表中的数据
May 11 #MySQL
mysql查找连续出现n次以上的数字
May 11 #MySQL
mysql如何查询连续记录
May 11 #MySQL
mysql 体系结构和存储引擎介绍
MySQL数据库 安全管理
May 06 #MySQL
Mysql 文件配置解析介绍
May 06 #MySQL
You might like
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
百度地图api如何使用
2015/08/03 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
vue2.0 datepicker使用方法
2018/02/04 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
Python Tkinter简单布局实例教程
2014/09/03 Python
python @property的用法及含义全面解析
2018/02/01 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python中几种自动微分库解析
2019/08/29 Python
Python读取表格类型文件代码实例
2020/02/17 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
Python实现扫码工具的示例代码
2020/10/09 Python
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
应用服务器有那些
2012/01/19 面试题
安全演讲稿大全
2014/05/09 职场文书
信访工作个人总结
2015/03/03 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书