mysql自连接和外连接知识点及相关案例

复制代码
 1 #三、自连接
 2 #查询员工的名字、上级的名字
 3 SELECT
 4     e.last_name,
 5     m.last_name
 6 FROM
 7     employees e
 8 JOIN employees m ON e.manager_id = m.employee_id
 9 WHERE
10     e.last_name LIKE '%k%';
11 
12 #二、外连接
13 /*
14 应用场景;用于查询一个表中有,另一个表中没有的记录
15 
16 特点:
17 1、外连接的查询结果为主表中的所有记录
18 如果从表中有和它匹配的,则显示匹配的值、
19 如果从表中没哟和它匹配的,则显示null
20 外连接查询结果=内连接结果+主表中有而从表中没有的记录
21 2、左外连接,left join左边的是主表
22 右外连接,right join右边的 是主表
23 3、左外和右外交换两个表的顺序,可以实现同样的效果
24 
25 */
26 #引入:查询没有男朋友的女神名、
27 USE girls;
28 
29 SELECT
30     *
31 FROM
32     beauty;
33 
34 SELECT
35     *
36 FROM
37     boys;
38 
39 #左外连接
40 SELECT
41     b. NAME,
42     bo.*
43 FROM
44     beauty b
45 LEFT OUTER JOIN boys bo ON b.boyfriend_id = bo.id
46 WHERE
47     bo.id IS NULL;
48 
49 #案例1、查询那个部门没有员工
50 SELECT
51     de.*, e.employee_id
52 FROM
53     departments de
54 LEFT OUTER JOIN employees e ON de.department_id = e.department_id
55 WHERE
56     e.employee_id IS NULL;
复制代码

 

作者:Esofar

出处:https://www.cnblogs.com/deyo/p/13266235.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   自律即自由-  阅读(253)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示