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 kill不掉线程的原因
May 07 MySQL
解读MySQL的客户端和服务端协议
May 10 MySQL
MySql学习笔记之事务隔离级别详解
May 12 MySQL
MySQL如何构建数据表索引
May 13 MySQL
MySQL中存储时间的最佳实践指南
Jul 01 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
Oct 15 MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
Jan 22 MySQL
MySQL Server 层四个日志
Mar 31 MySQL
MySql分区类型及创建分区的方法
Apr 13 MySQL
手把手带你彻底卸载MySQL数据库
Jun 14 MySQL
MySQL的表级锁,行级锁,排它锁和共享锁
Jul 15 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
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
PHP 变量类型的强制转换
2009/10/23 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
css图片自适应大小
2007/11/28 Javascript
用JS剩余字数计算的代码
2008/07/03 Javascript
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
javascript实现微信分享
2014/12/23 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
2018/09/07 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
2014/04/26 Python
Python中format()格式输出全解
2019/04/12 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
回门宴父母答谢词
2014/01/26 职场文书
家长会演讲稿
2014/04/26 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android