MySQL链表查询(内连接,外连接-左外连接-右外连接,union
MySQL链表查询(内连接,外连接-左外连接-右外连接,union
- 一. 内连接
- 显示内连接
- 语法
- 代码实现
- 隐式内连接
- 语法
- 代码实现
- 总结:
- 二. 外连接
- 左外连接
- 语法
- 右外连接
- 语法
- 左外和右外的代码练习
- 三. union
- 去重
- 语法
- 不去重
- 语法
- 代码练习
一. 内连接
获取的结果是两张表的交集
环境准备:
t_employee表: id为主键 t_depno为外键,连接t_dept的主键

t_dept表:id为主键

显示内连接
语法
#显式内连接
select * from 表A inner join 表B on 条件;
代码实现
#显式内连接
#没有使用别名
select * from t_employee
inner join t_dept
on t_employee.dept_no = t_dept.id;
#使用别名
select *
from t_employee t1
inner join t_dept t2
on t1.dept_no = t2.id;
隐式内连接
语法
#隐式内连接
select * from 表A,表B where 条件;
代码实现
#隐式内连接
select * from t_employee t1 , t_dept t2 where t1.dept_no = t2.id;
总结:
- 推荐使用显式内连接。
二. 外连接
概述:
- 获取的结果是一张表的全部, 以及两张表的交集.
- 左外连接就是看左边的表,右外连接就是看右边的表,而表的显示左边还是右边是根据你写的sql语句有关的.
左外连接
语法
左外连接
获取左边表(表A)的全部,以及两张表的交集.
也就左边表的全部显示,右边表要向左边补齐,没有的显示为空
select * from 表A left outer join 表B on 条件;
右外连接
语法
右外连接
就是向右边的表看起 A为左表 B为右表
获取右边表(表B)的全部,以及两张表的交集.,
select * from 表A right outer join 表B on 条件;
左外和右外的代码练习
获取所有部门, 以及每个部门中的员工
#左外连接
select * from t_dept left outer join t_employee on t_employee.dept_no = t_dept.id;#右外连接
select * from t_employee right outer join t_dept on t_employee.dept_no = t_dept.id;
在代码的基础上家加深理解
#左外连接SELECT * FROM t_dept LEFT OUTER JOIN t_employee#on t_dept.id=t_employee.id;ON t_employee.id = t_dept.id#右外连接 #与上表就是左右区别,但是上边是已t_dept为基准,下面是已t_employee为基准的SELECT * FROM t_dept RIGHT OUTER JOIN t_employee#on t_dept.id=t_employee.id;ON t_employee.id = t_dept.idSELECT * FROM t_employeeRIGHT OUTER JOIN t_dept ON t_employee.id = t_dept.id;


三. union
概述
- 合并两个select语句的结果集.
去重
语法
#获取select语句1和select语句2的并集, 并去重.
select语句1 union select语句2;
不去重
语法
#获取select语句1和select语句2的并集, 不去重.
select语句1 union all select语句2;
代码练习
#去重
select *
from t_employee
where id in (1, 2)
union
select *
from t_employee
where id = 1 or id = 3;
//结构是就是 id = 1 ,2,3的数据
#不去重
select *
from t_employee
where id in (1, 2)
union all
select *
from t_employee
where id = 1 or id = 3;
//结果就是 id = 1,2, 1,3 的数据
``
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
