內連接:
指連接結果僅包含符合連接條件的行,參與連接的兩個表都應該符合連接條件。(典型的聯接運算,使用像 = 或 <> 之類的比較運算符)。包括相等聯接和自然聯接。
內聯接使用比較運算符根據每個表共有的列的值匹配兩個表中的行。例如,檢索 students和courses表中學生標識號相同的所有行。
外連接:
連接結果不僅包含符合連接條件的行同時也包含自身不符合條件的行。包括左外連接、右外連接和全外連接。
左外連接:
左邊表數據行全部保留,右邊表保留符合連接條件的行
右外連接:
右邊表數據行全部保留,左邊表保留符合連接條件的行
全外連接:
左外連接 union 右外連接
SQL查詢的基本原理:兩種情況介紹。
第一、單表查詢:根據WHERE條件過濾表中的記錄,形成中間表(這個中間表對用戶是不可見的);然後根據SELECT的選擇列選擇相應的列進行返回最終結果。
第二、兩表連接查詢:對兩表求積(笛卡爾積)並用ON條件和連接連接類型進行過濾形成中間表;然後根據WHERE條件過濾中間表的記錄,並根據SELECT指定的列返回查詢結果。
第三、多表連接查詢:先對第一個和第二個表按照兩表連接做查詢,然後用查詢結果和第三個表做連接查詢,以此類推,直到所有的表都連接上爲止,最終形成一箇中間的結果表,然後根據WHERE條件過濾中間表的記錄,並根據SELECT指定的列返回查詢結果。
理解SQL查詢的過程是進行SQL優化的理論依據。