1. 多表連線型別
1. 笛卡爾積(交叉連線) 在MySQL中可以為CROSS JOIN或者省略CROSS即JOIN,或者使用"," 如:
?
1
2
3
SELECT * FROM table1 CROSS JOIN table2
SELECT * FROM table1 JOIN table2
SELECT * FROM table1,table2
由於其返回的結果為被連線的兩個資料表的乘積,因此當有WHERE, ON或USING條件的時候一般不建議使用,因為當資料表專案太多的時候,會非常慢。一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN
2. 內連線INNER JOIN 在MySQL中把INNER JOIN叫做等值連線,即需要指定等值連線條件在MySQL中CROSS和INNER JOIN被劃分在一起。 join_table: table_reference [INNER | CROSS] JOIN table_factor [join_condition]
3. MySQL中的外連線,分為左外連線和右連線,即除了返回符合連線條件的結果之外,還要返回左表(左連線)或者右表(右連線)中不符合連線條件的結果,相對應的使用NULL對應。
1. 多表連線型別
1. 笛卡爾積(交叉連線) 在MySQL中可以為CROSS JOIN或者省略CROSS即JOIN,或者使用"," 如:
?
1
2
3
SELECT * FROM table1 CROSS JOIN table2
SELECT * FROM table1 JOIN table2
SELECT * FROM table1,table2
由於其返回的結果為被連線的兩個資料表的乘積,因此當有WHERE, ON或USING條件的時候一般不建議使用,因為當資料表專案太多的時候,會非常慢。一般使用LEFT [OUTER] JOIN或者RIGHT [OUTER] JOIN
2. 內連線INNER JOIN 在MySQL中把INNER JOIN叫做等值連線,即需要指定等值連線條件在MySQL中CROSS和INNER JOIN被劃分在一起。 join_table: table_reference [INNER | CROSS] JOIN table_factor [join_condition]
3. MySQL中的外連線,分為左外連線和右連線,即除了返回符合連線條件的結果之外,還要返回左表(左連線)或者右表(右連線)中不符合連線條件的結果,相對應的使用NULL對應。