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 相关文章推荐
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
Apr 05 MySQL
jdbc使用PreparedStatement批量插入数据的方法
Apr 27 MySQL
mysql如何配置白名单访问
Jun 30 MySQL
解决Mysql的left join无效及使用的注意事项说明
Jul 01 MySQL
MySQL Shell import_table数据导入的实现
Aug 07 MySQL
mysql 索引合并的使用
Aug 30 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 MySQL
Mysql分库分表之后主键处理的几种方法
Feb 15 MySQL
简单聊一聊SQL注入及防止SQL注入
Mar 23 MySQL
详细聊一聊mysql的树形结构存储以及查询
Apr 05 MySQL
解决MySQL Varchar 类型尾部空格的问题
Apr 06 MySQL
MySQL数据库查询进阶之多表查询详解
Apr 08 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
德生PL550的电路分析
2021/03/02 无线电
PHP实现图片简单上传
2006/10/09 PHP
PHP内核探索:变量概述
2014/01/30 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
javascript 对象定义方法 简单易学
2009/03/22 Javascript
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
js转义字符介绍
2013/11/05 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
Python多线程原理与用法详解
2018/08/20 Python
Python实现登陆文件验证方法
2018/10/06 Python
python中嵌套函数的实操步骤
2019/02/27 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
JNI的定义
2012/11/25 面试题
JAVA中运算符的分类及举例
2015/09/12 面试题
一句话工作感言
2014/03/01 职场文书
教师节老师寄语
2015/05/28 职场文书
《叶问2》观后感
2015/06/15 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server