SQL JOIN 共七种

没有搞懂它前,似懂非懂的,东拚西凑,也能写出程序.
但搞懂它,更知道自己在写什麽.
key word : sql join

A与B的配对游戏
inner join 配对到的A和B都站出来
left join A都站出来,有配对到的带着B出来.接着我们也可以再把有配对到的给踢掉.
right join B都站出来,有配对到的带着A出来.接着我们也可以再把有配对到的给踢掉.
FULL OUTER JOIN A,B都站出来.接着我们可以把有配对到的给踢掉.
以上是概念,以下是语法实作

DROP TABLE #TMP1,#TMP2 
CREATE TABLE #TMP1(ACNO INT)
CREATE TABLE #TMP2(ACNO INT)

INSERT INTO #TMP1 SELECT 1
INSERT INTO #TMP1 SELECT 2
INSERT INTO #TMP1 SELECT 3

INSERT INTO #TMP2 SELECT 3
INSERT INTO #TMP2 SELECT 4

--1.娶老婆配对.不管有没有娶到,都把A队列出来.一个个有没有娶到.
SELECT * FROM #TMP1 T1 LEFT JOIN #TMP2 T2 ON T1.ACNO =T2.ACNO
--2.娶老婆配对.A队有娶到的,请离开.
SELECT * FROM #TMP1 T1 LEFT JOIN #TMP2 T2 ON T1.ACNO = T2.ACNO WHERE T2.ACNO IS NULL

--3.娶老婆配对.A队.B队都站出来.有娶到的,站在同一排.
SELECT * FROM #TMP1 T1 FULL OUTER JOIN #TMP2 T2 ON T1.ACNO = T2.ACNO
--4.娶老婆配对.A队.B队都站出来,有娶到的,都出去.
SELECT * FROM #TMP1 T1 FULL OUTER JOIN #TMP2 T2 ON T1.ACNO = T2.ACNO WHERE T2.ACNO IS NULL OR T1.ACNO IS NULL

--5.娶老婆配对,B队站出来,有对应的,请离开
SELECT * FROM #TMP1 T1 RIGHT JOIN #TMP2 T2 ON T1.ACNO = T2.ACNO WHERE T1.ACNO IS NULL
--6.娶老婆配对,B队站出来,有对应到的,请站在他旁边.
SELECT * FROM #TMP1 T1 RIGHT JOIN #TMP2 T2 ON T1.ACNO = T2.ACNO

--7.开放式关系,大家一起爱起来~不再有人落单.
SELECT * FROM #TMP1,#TMP2


<<:  物理访问控制系统(PACS)-重播攻击(Replay attack)

>>:  Django 基础篇

Day8 喵星人罐罐大变身-韩式鲔鱼煎饼

同事最近领养了喵喵,自从开始养猫之後,对於鲔鱼罐头开始有恐惧,觉得这是猫咪的罐罐,不敢再吃鲔鱼罐头了...

Day 28 | Circular timer animation

今天要来分享我看 Youtube 影片做出来的 timer, 照惯例先放影片连结, 用他里面提到的观...

17 程序竞赛前中後准备技巧

准备程序竞赛的技巧大多都和平常准备考试的方法相同,但因为程序竞赛有许多规定,在第一次入门时会被很多规...

[Day 28] Gitea - 如何自签凭证与Nginx注意

Gitea Docker版本 绑定自签凭证by Nginx 当你的Gitea需要绑定SSL时有个快速...

【DAY 19】数据分析没有这麽难,透过 Microsoft Power BI ,让你事半功倍!(范例说明)

哈罗大家好~ 昨天我们提到关於 Power BI 初步说明,也再次强调「任何工具的功能都是在帮你达到...