天天看點

SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接

SQL連接配接可以分為内連接配接、外連接配接、交叉連接配接。

資料庫資料:

SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接
SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接

book表                                          stu表

1.内連接配接

1.1.等值連接配接:在連接配接條件中使用等于号(=)運算符比較被連接配接列的列值,其查詢結果中列出被連接配接表中的所有列,包括其中的重複列。

1.2.不等值連接配接:在連接配接條件使用除等于運算符以外的其它比較運算符比較被連接配接的列的列值。這些運算符包括>、>=、<=、<、!>、!<和<>。

1.3.自然連接配接:在連接配接條件中使用等于(=)運算符比較被連接配接列的列值,但它使用選擇清單指出查詢結果集合中所包括的列,并删除連接配接表中的重複列。

内連接配接:内連接配接查詢操作列出與連接配接條件比對的資料行,它使用比較運算符比較被連接配接列的列值。

内連接配接可以使用上面兩種方式,其中第二種方式的inner可以省略。

SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接

其連接配接結果如上圖,是按照a.stuid = b.stuid進行連接配接。

2.外連接配接

2.1.左聯接:是以左表為基準,将a.stuid = b.stuid的資料進行連接配接,然後将左表沒有的對應項顯示,右表的列為NULL

SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接

2.2.右連接配接:是以右表為基準,将a.stuid = b.stuid的資料進行連接配接,然以将右表沒有的對應項顯示,左表的列為NULL

SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接

2.3.全連接配接:完整外部聯接傳回左表和右表中的所有行。當某行在另一個表中沒有比對行時,則另一個表的選擇清單列包含空值。如果表之間有比對行,則整個結果集行包含基表的資料值。

SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接

3.交叉連接配接

交叉連接配接:交叉聯接傳回左表中的所有行,左表中的每一行與右表中的所有行組合。交叉聯接也稱作笛卡爾積。

SQL的幾種連接配接:内連接配接、左聯接、右連接配接、全連接配接、交叉連接配接