1.連接 有時候需要將連個表的數據合併成一個結果集來顯示。為瞭解決這個問題,就需要用到JOIN連接。 2.內部連接 內部連接根據一個或幾個共同的欄位將記錄匹配到一起。內部連接僅僅返回那些存在欄位匹配的記錄。 例子: film表 Actors表 內部連接的關鍵就是排他性,如上面的Actor表中演員Bo ...
1.連接
有時候需要將連個表的數據合併成一個結果集來顯示。為瞭解決這個問題,就需要用到JOIN連接。
2.內部連接
內部連接根據一個或幾個共同的欄位將記錄匹配到一起。內部連接僅僅返回那些存在欄位匹配的記錄。
例子:
film表 Actors表
內部連接的關鍵就是排他性,如上面的Actor表中演員Bogart因為在Film表中沒有對應的ID,所以在結果集中就沒有顯示。
3. 外部連接
外部連接本質上是包含!!!
左外部連接:個人理解就是左表邊的全保留(包含),如果右邊根據條件沒有對應的行,則全是NULL,但還是會保留,不像內連接是直接不顯示!
Action表 Film表
內連接
左外連接(左表Film表) 右外連接(左表Film表)
4.完全連接
顧名思義,將兩個表的數據全部匹配。相當於左外連接加右外連接!
5.交叉連接
交叉連接不使用ON運算符,使用CROSS關鍵字。將左側表與右側表所有的記錄連接,返回所有記錄的笛卡爾積。
6.聯合
聯合(UNION)運算符,用於使兩個或兩個以上的查詢產生一個結果集。
把一個結果集拼到另一個結果集的末尾。
使用UNION的註意事項:1.兩個結果集(表)的列數要相同
2.UNION返回結果集的列名以第一個SELECT為準
3.兩個結果集對應列的必須可以隱式轉換
4.UNION預設消去重覆行,可以使用關鍵字ALL來返回重覆行
仍然是之前的兩張表:第一個SELECT 起名叫File 之後無論起什麼名字都是File,以第一個為準。