FULL JOIN 即為 LEFT JOIN 與 RIGHT JOIN 的聯集,它會返回左右資料表中所有的紀錄,不論是否符合連接條件。
1 2 3 4
SELECT table_column1, table_column2... FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name;
Example
1 2 3 4
SELECT customers.C_Id,customers.Name,customers.Address,customers.Phone,customers.Salary,orders.Order_No,orders.Product,orders.Product,orders.Quantity FROM `customers` RIGHT JOIN `orders` ON customers.C_Id =orders.C_Id
LEFT JOIN 會返回左側資料表中所有資料列,就算沒有符合連接條件,而右側資料表中如果沒有匹配的資料值就會顯示為 NULL。
SELECT table_column1, table_column2... FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name; //or SELECT table_column1, table_column2... FROM table_name1 INNER JOIN table_name2 USING (column_name);
Example
1 2 3 4
SELECT customers.C_Id,customers.Name,customers.Address,customers.Phone,customers.Salary,orders.Order_No,orders.Product,orders.Product,orders.Quantity FROM `customers` INNER JOIN `orders` ON customers.C_Id =orders.C_Id
NATURAL JOIN
1 2 3
SELECT table_column1, table_column2... FROM table_name1 NATURAL JOIN table_name2;
Example
1
SELECT customers.C_Id,customers.Name,customers.Address,customers.Phone,customers.Salary,orders.Order_No,orders.Product,orders.Product,orders.Quantity FROM `customers` NATURAL JOIN `orders`;
LEFT JOIN 可以用來建立左外部連接,查詢的 SQL 敘述句 LEFT JOIN 左側資料表 (table_name1) 的所有記錄都會加入到查詢結果中,即使右側資料表 (table_name2) 中的連接欄位沒有符合的值也一樣。
1 2 3 4
SELECT table_column1, table_column2... FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name;
Example
1 2 3 4
SELECT customers.C_Id,customers.Name,customers.Address,customers.Phone,customers.Salary,orders.Order_No,orders.Product,orders.Product,orders.Quantity FROM `customers` LEFT JOIN `orders` ON customers.C_Id =orders.C_Id
LEFT JOIN 會返回左側資料表中所有資料列,就算沒有符合連接條件,而右側資料表中如果沒有匹配的資料值就會顯示為 NULL。