MySQL的语句查询——多表查询
一、表格
员工表:sid:员工编号、name:姓名、age:年龄
woektime_start 入职时间,incoming工资
dept2 部门编号
部门表:dept1 部门编号,dept_name 部门名称
二、多表连接
(1)2个表或者更多的表中查询我们要的数据
(2)多表连接的关系
a、内连接
b、左连接
c、右连接
e、左独有数据
f、右独有数据
g、全外连接
-比如: a 表:1,2,3 b 表:1,2,4
内连接:显示左边12和右边12关联 显示:12,不显示3,4
左连接:显示左边1,2,3,右 边12 关联 123 4不显示
右连接: 显示右边1,2,4全部显示,左 边12关联 124, 3不显示
左独有数据:显示3
右独有数据:显示4
全外连接:显示1,2,3,4
三、详解讲解连接的关系
1、内连接
(1)隐藏内连接
格式:select * from 表1,表2 where 表1.关联字段=表2.关联字段
案例:select * from dept,emp where dept.dept1=emp.dept2;
(2)普通内连接
格式:select * from 表1 INNER JOIN 表2 on 表1.关联字段=表2.关联字
案例:select * from dept inner join emp on dept.dept1=emp.dept2;
2、左连接:left join
格式:select * from 表1 left JOIN 表2 on 表1.关联字段=表2.关联字
案例:select * from dept left join emp on dept.dept1=emp.dept2;
3、右连接:right join
格式:select * from 表1 right JOIN 表2 on 表1.关联字段=表2.关联字
案例:select * from dept right join emp on dept.dept1=emp.dept2;
4、左独有数据
格式:select * from 表1 left JOIN 表2 on 表1.关联字段=表2.关联字 where 右表字段 is null
案例:select * from dept left join emp on dept.dept1=emp.dept2 where name is null;
5、右独有数据
格式:select * from 表1 right JOIN 表2 on 表1.关联字段=表2.关联字 where 左表字段 is null
案例:select * from dept right join emp on dept.dept1=emp.dept2 where dept_name is null;
6、全外连接
(1)内连接+左独有数据+右独有数据
案例:select * from dept inner join emp on dept.dept1=emp.dept2
union
select * from dept left join emp on dept.dept1=emp.dept2
union
select * from dept right join emp on dept.dept1=emp.dept2;
(2)左连接+右独有数据
案例:select * from dept left join emp on dept.dept1=emp.dept2
union
select * from dept right join emp on dept.dept1=emp.dept2 where dept_name is null;
(3)右连接+左独有数据
案例:select * from dept right join emp on dept.dept1=emp.dept2
union
select * from dept left join emp on dept.dept1=emp.dept2 where name is null;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!