MySQL中有多種不同類型的join,它們的區別在于在使用時匹配表格中的數據時所考慮的條件不同。下面我們來一一介紹它們。
1. INNER JOIN 語法: SELECT … FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 這是最常用的join類型,它只會返回同時在兩個表格中都有匹配的行。 2. LEFT JOIN 語法: SELECT … FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name; 左連接(Left Join)會返回左表格中的所有行和右表格中符合條件的行。如果在右表格中沒有任何匹配的行,則其對應的列就會被填充為 NULL 值。 3. RIGHT JOIN 語法: SELECT … FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name; 右連接(Right Join)與左連接(Left Join)類似,但是它會返回右表格中的所有行以及左表格中符合條件的行。如果在左表格中沒有任何匹配的行,則其對應的列就會被填充為 NULL 值。 4. FULL OUTER JOIN 語法: SELECT … FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name; 全外連接(Full Outer Join)會返回左、右表格中全部的行,并在沒有匹配的行的地方填充 NULL 值。 5. CROSS JOIN 語法: SELECT … FROM table1 CROSS JOIN table2; 交叉連接(Cross Join)也稱為笛卡爾集(Cartesian Product),它返回兩個表格中所有的行組合。一般情況下應該盡量避免使用它,因為它會產生非常大的結果集。
上一篇css視頻教程精通
下一篇mysql多租戶數據結構