天天看點

聯結表

聯結是一種機制,用來在一條SELECT中關聯表。在聯結時應該注意外鍵或主鍵問題。

SQL對一條SELECT語句中可以聯結的表的數目沒有限制。

注意:

1、在引用的列可能出現二義性時,必須使用完全限定列名(用一個點分隔的表名和列名)。如果引用一個沒有用表名限制的具有二義性的列名,将會報錯。

2、不要聯結不必要的表,聯結的表越多,性能下降的越厲害。

笛卡爾積是由沒有聯結條件的表關系傳回的結果為笛卡爾積,檢索出的行的數目為第一個表的行數乘以第二個表的行數。

基于兩個表之間的相等測試的聯結稱為等值聯結,也稱為内部聯結。

自聯結通常作為外部語句用來替代從相同表中檢索資料時使用的子查詢語句。雖然子查詢和自聯結最終的結果相同,但是有時候處理聯結遠比處理子查詢快得多。

自然聯結排除多次出現,使每個列隻能傳回一次,隻能選擇那些唯一的列(一般通過對表使用通配符即SELECT *),對所有其他表的列使用明确的子集來完成。

外部聯結指包含了那些相關表中沒有關聯行的行。