?? 6.1.2 各種聯(lián)接的使用示例.sql
字號(hào):
--測(cè)試數(shù)據(jù)
DECLARE @a TABLE(id int)
INSERT @a SELECT 1
UNION ALL SELECT 2
DECLARE @b TABLE(id int)
INSERT @b SELECT 2
UNION ALL SELECT 3
--內(nèi)聯(lián)接
SELECT * FROM @a a JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id=b.id
/*--結(jié)果(只返回兩個(gè)表中id相同的記錄)
id id
---------------- -----------
2 2
--*/
--左向外聯(lián)接
SELECT * FROM @a a LEFT JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id*=b.id --會(huì)產(chǎn)生不明確查詢,不建議再使用這種方式
/*--結(jié)果(返回@a(左邊表)所有的記錄,及@b(右邊表)的id與@a表id匹配的記錄),不匹配的用NULL表示
id id
----------------- -----------
1 NULL
2 2
--*/
--右向外聯(lián)接
SELECT * FROM @a a RIGHT JOIN @b b ON a.id=b.id
SELECT * FROM @a a,@b b WHERE a.id=*b.id –會(huì)產(chǎn)生不明確查詢,不建議再使用這種方式
/*--結(jié)果(返回@b(右邊表)所有的記錄,及@a(左邊表)的id與@b表id匹配的記錄),不匹配的用NULL表示
id id
----------------- -----------
2 2
NULL 3
--*/
--完整外部聯(lián)接
SELECT * FROM @a a FULL JOIN @b b ON a.id=b.id
/*--結(jié)果(返回@a與@b表所有的記錄,id不匹配的用NULL表示
id id
----------------- -----------
2 2
NULL 3
1 NULL
--*/
--交叉聯(lián)接
SELECT * FROM @a a CROSS JOIN @b b
SELECT * FROM @a a,@b b
/*--結(jié)果:
id id
----------------- -----------
1 2
2 2
1 3
2 3
--*/
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -