1.等值連接和自然連接
對於等值連接和自然連接,在WHERE子句中使用等於比較運算符,二者的區別在於等值連接的查詢結果中列出所連接表中的所有列,包括它們之間的重復列。而自然連接的選擇列表中刪除被連接表間的重復列。
例:
(3)不等連接
不等連接使用除等於運算符以外的其他比較運算符,這些運算符包括>,>=,<=,<,!>,!<和<>等。
(4)自連接
自連接中,使用同一個表的相同列進行比較,這時,對於同一個表應給出不同的別名。
例:使用自連接列出合著的圖書標識及其作者姓名
2.外連接
內連接中,查詢結果中所顯示的僅是符合查詢條件的行,而采用外連接時,它不僅包含符合連接條件的行,而且還包括左表或右表連接中的所有行。
外連接操作符有*=和=*兩種,采用*=連接時,查詢結果中將包含第一個表中的所有行,而采用=*連接時,查詢結果將包含=*操作符後面表中所有數據行。
在進行一些統計時,需要使用外連接。例如,假定有兩個表,一個表(PERSON)包含人員的姓名(NAME)及其標識(ID),另一個表(DESC)包含人員標識(ID)及其受獎懲情況(MEMO)。在統計單位的所有人員及其獎懲情況時,使用外連接書寫查詢語句就特別簡單,即:
SELECT name,memo
FROM person,desc
WHERE person.id*=desc.id