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;

 

posted @ 2020-07-08 12:25  自律即自由-  阅读(250)  评论(0编辑  收藏  举报