MySQL中的JOIN語句用于在不同的表之間建立連接并檢索數據。
常見的JOIN類型有:
- INNER JOIN - 返回兩個表中匹配的行
- LEFT JOIN - 返回左表中的所有行,以及右表中與左表匹配的行,如果右表中沒有匹配行,則左表中的數據將有NULL值
- RIGHT JOIN - 返回右表中的所有行,以及左表中與右表匹配的行,如果左表中沒有匹配行,則右表中的數據將有NULL值
- FULL OUTER JOIN - 返回左表和右表中的所有行,如果沒有匹配,則為NULL
下面是一個簡單的例子:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
這個查詢將返回table1和table2中column_name匹配的行。
下面是一個左連接的例子:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
這個查詢將返回table1中的所有行,以及table2中與table1匹配的行,如果table2中沒有匹配的行,則table1中的數據將有NULL值。
JOIN也可以連接多個表。下面是一個連接三個表的例子:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name INNER JOIN table3 ON table2.column_name = table3.column_name;
這個查詢將返回table1和table2以及table3中column_name匹配的行。