MySQL 内连接、左连接、右连接、外连接、多表查询
MySQL 内连接、左连接、右连接、外连接、多表查询
构建环境:
create table t_emp(id int primary key, name varchar(20),deptId int
);create table t_dept(id int primary key,name varchar(20)
);insert into t_dept(id, name) values(1, '设计部');
insert into t_dept(id, name) values(2, '开发部');
insert into t_dept(id, name) values(3, '测试部');insert into t_emp(id, name, deptId) values(1, '张三', 1);
insert into t_emp(id, name, deptId) values(2, '李四', 2);
insert into t_emp(id, name, deptId) values(3, '王五', 0);
# ps:为了说明方便,t_emp 表 说成 A 表, t_dept 表说成 B 表
目录
一、INNER JION 内连接 ( A ∩ B )
SELECT * FROM t_emp e INNER JOIN t_dept d ON e.deptId = d.id;
二、LEFT JOIN 左外连接( A 全有 )
SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId = d.id;
三、RIGHT JOIN 右外连接 (B 全有)
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id;
四、FULL JOIN 全外连接( A + B)
SELECT * FROM t_emp e LEFT JOIN t_dept d
ON e.deptId = d.id UNION
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId = d.id;
五、LEFT Excluding JOIN ( A - B 即 A 表独有)+
SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id is null;
六、RIGHT Excluding JOIN ( B - A 即 B表独有)
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id is null;
七、OUTER Excluding JOIN (A 与 B 各自独有)
SELECT * FROM t_emp e LEFT JOIN t_dept d ON e.deptId= d.id WHERE d.id is null
UNION
SELECT * FROM t_emp e RIGHT JOIN t_dept d ON e.deptId= d.id WHERE e.id is null;
转载于:https://blog.csdn.net/u010559460/article/details/98503010 常用的七种JOIN查询
MySQL 内连接、左连接、右连接、外连接、多表查询相关推荐
- MySQL sql99语法—左(右)外连接
应用场景:用于查询一个表中有,另一个表中没有的记录. 特点: 外连接的查询结果为主表中的所有记录,如果从表中有和他匹配的,则显示匹配的值,如果从表中没有,则显示 null. 外连接查询结果 = 内连接 ...
- 什么时候使用内连接,什么时候使用外连接
需要查找两张表同时存在的数据,使用内连接 需要查找两张表中一张表存在,另一张表不存在的时候使用左外链接 或 右外链接 内连接的查询结果都是满足连接条件的元组.但有时我们也希望输出那些不满足连接条件 ...
- MySQL学习思维导图(MySQL简介、SQL基础命令、约束、单表查询、多表查询、内置函数、存储过程、视图、事务、索引)
MySQL学习思维导图 内容包括:MySQL简介.SQL基础命令.约束.单表查询.多表查询.内置函数.存储过程.视图.事务.索引 文章目录 MySQL学习思维导图 一.MySQL简介 二.SQL基础命 ...
- mysql伪列的使用,mysql伪列的妙用,mysql获取近几天的日期用来连表查询
文章目录 写在前面 伪列的使用 初步 获取前几行 获取近几天的日期(用于关联查询) 配合UNION的妙用 UNION获取几行数据 获取近50天的日期(不使用其他表) 举一反三 写在前面 我们都知道or ...
- 【MySQL】MySQL 的连接(内、左、右、全)
一.表 的连 结 1.目的:减少数据的冗余 2.核心:分类 ***连接时至少要两张表,连接主要有内连接(inner join).左外连接(left outer join).右外连接(right out ...
- 区分笛卡儿积,自然连接,等值连接,内连接,外连接—左,右
1.笛卡尔积 笛卡儿积,不用多说,返回所有的情况. 2.自然连接 自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系.自然连接是一种特殊的等值 ...
- 【Mysql】图解左、右、内与全连接
一.前言 使用学生表与成绩表来演示Mysql中的各种连接查找 学生表的建表语句如下: CREATE TABLE student(id int(11) NOT NULL AUTO_INCREMENT C ...
- SQL的内连接、左连接、右连接、 交叉连接、全外连接
sql表连接分成 外连接 . 内连接 和 交叉连接.. 外连接包括三种,分别是左外连接.右外连接.全外连接.. 对应的sql关键字:LEFT/RIGHT/FULL OUTER JOIN,通常我们都省略 ...
- 一篇文章看懂MySQL的多表连接(包含左/右/全外连接)
MySQL的多表查询 这是第二次学习多表查询,关于左右连接还是不是很熟悉,因此重新看一下.小目标:一篇文章看懂多表查询!! 这篇博客是跟着宋红康老师学习的,点击此处查看视频,关于数据库我放在了Gith ...
- 左连接、右连接、交叉连接、全外连接
第一部分.连接查询 一.内连接 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值.内连接分三种: 1.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询 ...
最新文章
- 2022-2028年中国半导体硅片行业深度调研及投资前景预测报告
- [deviceone开发]-Star分享的优惠券商户管理端App开源
- 验证mongodb主从复制过程~记录操作
- 大三时候实现的,关于大整数(超过long范围)加减乘除操作的头文件,并包含了实现RSA加解密的函数...
- mfc检测一个目录是否产生新文件_细数Java8中那些让人纵享丝滑的文件操作
- scala读取mysql文件_9. Scala操作外部数据 文件读取,xml,Excel,MySQL
- 【Golang 快速入门】项目实战:即时通信系统
- 成都中忻嘉业:抖音小店经营一段时间后能改类目吗
- java标书_java软件项目投标技术标书【精选】.doc
- css flex实现经典的三栏布局
- unity不规则碰撞_Unity中的刚体和碰撞器
- 介绍几种电路上常用的塑料插接件(1)
- 2021年美容师(中级)新版试题及美容师(中级)免费试题
- OpenCV裁剪图像任意区域
- 图片LSB隐写(java)
- php发布编辑删除功能,php实现添加修改删除
- 使用cityscapes数据集建立yolov7测试集
- 一次GPS和罗经检测的经历
- 2012年1月凯立德地图普高清全分辨率懒人包P1750-D5616-2721J09(完美破解,已上路实测,永久下载地址)...
- mp2551总线收发器芯片作用_8线总线收发器SN74LVCC3245的原理及应用
热门文章
- ABAP Submit 用法解析
- SAP收货时自动创建采购订单
- 罗永浩直播带货花落谁家?不止是价高者得之
- php分页怎么实行跳转,php分页函数,支持页码下拉选择跳转
- s.assign()用法c++_assign是什么意思
- python往mysql存入数据_Python操作mysql之插入数据
- mysql8集群的优点_介绍 MySQL 8 中值得关注的新特性和改进。
- java 销毁线程_线程 学习教程(一): Java中终止(销毁)线程的方法
- asmr刷新失败无法连接上服务器_App Store显示无法连接怎么解决?两个步骤足够了...
- 攻防世界(Pwn)dice_game, 栈溢出覆盖srand种子