SQL JOIN

摘要:SQL JOIN

 來源 :http://tlcheng.wordpress.com/2011/07/08/sql-join-%E7%9A%84-where-%E6%A2%9D%E4%BB%B6%E5%BC%8F%E4%BD%8D%E7%BD%AE/

 

 

假設有三個表,表1、表2、表3,用下列方式 Join 起來:

SELECT * FROM 表1
INNER JOIN 表2 ON 表1.K1=表2.K2
LEFT JOIN 表3 ON 表1.K1=表3.K3

在此例中有三種放 WHERE 條件式的位置:

1.

SELECT * FROM 表1
INNER JOIN 表2 ON 表1.K1=表2.K2
LEFT JOIN 表3 ON 表1.K1=表3.K3
WHERE 所有條件

2.

SELECT * FROM 表1
INNER JOIN 表2 ON (表1.K1=表2.K2 AND 表1及表2條件)
LEFT JOIN 表3 ON (表1.K1=表3.K3 AND 表1及表3條件)

3.

SELECT * FROM (SELECT * FROM 表1 WHERE 表1條件) AS 表1
INNER JOIN (SELECT * FROM 表2 WHERE 表2條件) AS 表2 ON 表1.K1=表2.K2
LEFT JOIN (SELECT * FROM 表3 WHERE 表3條件) AS 表3 ON 表1.K1=表3.K3