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 相关文章推荐
数据库连接池
Apr 06 MySQL
MySQL update set 和 and的区别
May 08 MySQL
MySQL中in和exists区别详解
Jun 03 MySQL
mysql外连接与内连接查询的不同之处
Jun 03 MySQL
安装配置mysql及Navicat prenium的详细流程
Jun 10 MySQL
MySQL笔记 —SQL运算符
Jan 18 MySQL
SQL语法CONSTRAINT约束操作详情
Jan 18 MySQL
千万级用户系统SQL调优实战分享
Mar 03 MySQL
MySQL视图概念以及相关应用
Apr 19 MySQL
优化Mysql查询的示例
Apr 26 MySQL
MySQL数据库之内置函数和自定义函数 function
Jun 16 MySQL
delete in子查询不走索引问题分析
Jul 07 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模拟HTTP认证
2006/10/09 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
JS 自动安装exe程序
2008/11/30 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
express框架下使用session的方法
2019/07/31 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
Python实现从订阅源下载图片的方法
2015/03/11 Python
基于Python实现文件大小输出
2016/01/11 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
十佳青年个人事迹材料
2014/01/28 职场文书
致800米运动员广播稿
2014/02/16 职场文书
支部鉴定材料
2014/06/02 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
导游词之临安白水涧
2019/11/05 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP