File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,8 @@ join从句:: inner | full outer | left outer | right outer | cross
9
9
10
10
11
11
********************************************************************************
12
+ 左外连接
13
+
12
14
left join 以左表为基础 查询
13
15
忽然想起来有次面试问我如何用left join实现not in的功能 = =
14
16
@@ -17,4 +19,33 @@ select A.内容,B.内容 from A left join B ON a.key=b.key where b.key is null
17
19
not in 关键字不会使用索引 所以用left join加上关键字为null查找只存在于A表不存在于B表的数据
18
20
19
21
22
+ EFT OUTER JOIN:包含左表中的所有数据,当某个连接谓词不在右表中时,新生成的表的右表字段为NULL。
23
+ 对左表数据的信息进行扩展,增加右表中的字段,当某个连接谓词不在右表中时,新生成的表的右表字段为NULL。
24
+
25
+ 使用LEFT OUTER JOIN对NOT IN 进行优化。
26
+ SELECT select_sxpressions FROM TABLE A LEFT JOIN TABLE B ON A.key=B.key WHERE B.key IS NULL;
27
+ 表A中不包含表B中的数据。
28
+ SELECT select_sxpressions FROM TABLE A LEFT JOIN TABLE B ON A.key=B.key WHERE B.key IS NOT NULL;
29
+ 表A与表B的交集,相当于INNER JOIN。
30
+
31
+ ********************************************************************************
32
+ 右外连接
33
+
34
+ RIGHT OUTER JOIN:包含右表中的所有数据,当某个连接谓词不在左表中时,新生成的表的左表字段为NULL。
35
+ 对右表数据的信息进行扩展,增加左表中的字段,当某个连接谓词不在左表中时,新生成的表的左表字段为NULL。
36
+
37
+ 使用RIGHT OUTER JOIN对NOT IN 进行优化。
38
+ SELECT select_sxpressions FROM TABLE A RIGHT JOIN TABLE B ON A.key=B.key WHERE A.key IS NULL;
39
+ 表B中不包含表A中的数据。
40
+ SELECT select_sxpressions FROM TABLE A RIGHT JOIN TABLE B ON A.key=B.key WHERE A.key IS NOT NULL;
41
+ 表A与表B的交集,相当于INNER JOIN。
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
20
51
You can’t perform that action at this time.
0 commit comments