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数据迁移相关总结
Apr 29 MySQL
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
May 25 MySQL
MySQL 如何设计统计数据表
Jun 15 MySQL
如何搭建 MySQL 高可用高性能集群
Jun 21 MySQL
MySQL子查询中order by不生效问题的解决方法
Aug 02 MySQL
浅谈如何保证Mysql主从一致
Mar 13 MySQL
MySQL的索引你了解吗
Mar 13 MySQL
MySQL学习之基础操作总结
Mar 19 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
Windows 64位 安装 mysql 8.0.28 图文教程
Apr 19 MySQL
MySQL数据库查询之多表查询总结
Aug 05 MySQL
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 checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
javascript 事件处理程序介绍
2012/06/27 Javascript
JS函数实现动态添加CSS样式表文件
2012/12/15 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
Vue的路由动态重定向和导航守卫实例
2018/03/17 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
Python运算符重载用法实例
2015/05/28 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
python requests 使用快速入门
2017/08/31 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
职专应届生求职信
2013/11/16 职场文书
21岁生日感言
2014/02/27 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
平面设计专业求职信
2014/08/09 职场文书
支部书记四风对照材料
2014/08/28 职场文书
2015教师节通讯稿
2015/07/20 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书