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 Innodb关键特性之插入缓冲(insert buffer)
Apr 08 MySQL
浅谈Mysql多表连接查询的执行细节
Apr 24 MySQL
一文读懂navicat for mysql基础知识
May 31 MySQL
MySQL为id选择合适的数据类型
Jun 07 MySQL
Mysql中调试存储过程最简单的方法
Jun 30 MySQL
MySQL读取JSON转换的方式
Mar 18 MySQL
排查MySQL生产环境索引没有效果
Apr 11 MySQL
MySQL的prepare使用以及遇到的bug
May 11 MySQL
MySQL的意向共享锁、意向排它锁和死锁
Jul 15 MySQL
MySQL 原理与优化之原数据锁的应用
Aug 14 MySQL
MySQL中dd::columns表结构转table过程及应用详解
Sep 23 MySQL
DQL数据查询语句使用示例
Dec 24 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 常用类整理
2009/12/23 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
AngularJS ui-router (嵌套路由)实例
2017/03/10 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
Python 3.8 新功能全解
2019/07/25 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
十岁生日家长答谢词
2014/01/17 职场文书
二人合伙经营协议书
2014/09/13 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
滞留工资返还协议书
2014/10/19 职场文书
护士个人年度总结范文
2015/02/13 职场文书
我的中国梦主题班会
2015/08/14 职场文书
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python