閱讀導航html
1、概要數據庫
2、JOIN分類spa
1、概要code
JOIN對於接觸過數據庫的人,這個詞都不陌生,並且不少人很清楚各類JOIN,還有不少人對這個理解也不是很透徹,此次就說說JOIN操做。htm
圖片是很容易被接受和理解,因此嘗試使用圖片來講明一下。blog
2、JOIN分類圖片
客官:小二,上JOIN分類!rem
……rpc
小二:客官,新鮮出爐的JOIN分類圖片來嘍。
3、JOIN分類詳解
客官:小二,速速詳細道來!
小二:如今讓小二來給您詳細介紹。
INNER JOIN:
僅僅返回兩個表中,匹配列相同的列值,所在行的數據。
SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1
LEFT OUTER JOIN:
左外鏈接:返回左表的全部數據,而且在右表中不能匹配的列值,其坐在行則使用空值。
SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2
返回和右表不匹配的全部數據行
SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL
右外鏈接:返回右表的全部數據,而且在左表中不能匹配的列值,其所作在行則使用空值。
SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2
RIGHT OUTER JOIN – WHERE NULL:
SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t1.Col1 IS NULL
徹底鏈接可看做是左外鏈接和右外鏈接結果之和,返回兩個表的全部數據,若是匹配列的值在兩個表中匹配,那麼返回數據行,不然返回空值。
SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1
返回內鏈接之外的數據行,即匹配列坐在行之外的全部數據。
SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULL
CROSS JOIN:
交叉鏈接不須要任何鏈接條件。這個會把兩個表的的數據進行笛卡爾積操做。
SELECT * FROM Table1 t1 CROSS JOIN Table2 t2
小二:小二已經介紹完畢,客官,請慢用。準備洗漱睡覺了。