MySQL是一款流行的關系型數據庫管理系統,它支持多種表連接方式進行高效的關聯查詢。在MySQL中,最常用的五種表連接方式是:
- 內連接查詢(INNER JOIN)
- 左連接查詢(LEFT JOIN)
- 右連接查詢(RIGHT JOIN)
- 完全外連接查詢(FULL OUTER JOIN)
- 交叉連接查詢(CROSS JOIN)
下面我們來分別介紹這五種表連接查詢方式的用法和示例。
1. 內連接查詢(INNER JOIN)
內連接查詢是最常用的表連接方式,它只返回兩個表中有匹配行的記錄。
SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;
上面的查詢語句將返回table1和table2兩個表中滿足條件id相等的所有記錄。
2. 左連接查詢(LEFT JOIN)
左連接查詢是將左表的所有記錄和右表中滿足條件的記錄進行關聯,如果右表中沒有匹配的記錄,那么就用NULL填充。
SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;
上面的查詢語句將返回table1表中所有記錄和table2表中滿足條件id相等的所有記錄,如果table2中沒有匹配的記錄,相應的字段值將為NULL。
3. 右連接查詢(RIGHT JOIN)
右連接查詢是將右表的所有記錄和左表中滿足條件的記錄進行關聯,如果左表中沒有匹配的記錄,那么就用NULL填充。
SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.id;
上面的查詢語句將返回table2表中所有記錄和table1表中滿足條件id相等的所有記錄,如果table1中沒有匹配的記錄,相應的字段值將為NULL。
4. 完全外連接查詢(FULL OUTER JOIN)
完全外連接查詢是將左表和右表的所有記錄進行關聯,如果左表和右表中沒有匹配的記錄,那么就用NULL填充。
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.id = table2.id;
上面的查詢語句將返回table1和table2兩個表中所有的記錄,如果相應的記錄沒有匹配的,則相應的字段值將為NULL。
5. 交叉連接查詢(CROSS JOIN)
交叉連接查詢是將左表和右表的所有記錄笛卡爾積進行關聯,不需要關聯條件。
SELECT * FROM table1 CROSS JOIN table2;
上面的查詢語句將返回table1和table2兩個表中所有記錄的笛卡爾積。