隱含加入
也可以通過在 from
子句中使用幾個表來執行連線,用逗號 ,
分隔並在 where
子句中定義它們之間的關係。此技術稱為隱式連線(因為它實際上不包含 join
子句)。
所有 RDBMS 都支援它,但通常建議不要使用語法。使用此語法的一個壞主意的原因是:
- 有可能會出現意外的交叉連線,然後返回不正確的結果,尤其是如果查詢中有很多連線。
- 如果你打算交叉連線,那麼從語法中不清楚(寫出 CROSS JOIN 代替),有人可能會在維護期間更改它。
以下示例將選擇員工的名字以及他們為其工作的部門的名稱:
SELECT e.FName, d.Name
FROM Employee e, Departments d
WHERE e.DeptartmentId = d.Id
這將從示例資料庫返回以下內容 :
e.FName | d.Name |
---|---|
詹姆士 | HR |
約翰 | HR |
理查德 | 銷售 |