我一直使用連接很長一段時間,但它始終是舊的語法。現在我正在試圖弄清楚如何使用JOIN語法來完成基本的內部連接,並且很難搞清楚。在Oracle中使用連接語法連接3個表格
假設我有3張桌子。
員工:
EmployeeID EmployeeName DepartmentID
1 John Smith 2
2 Jane Doe 3
3 Mark Brown 1
部門:
DepartmentID DepartmentName AreaID
1 Sales 2
2 Marketing 1
3 Opeations 3
地區:
AreaID AreaName
1 Marketing
2 Sales
3 Opeartions
我需要與他們的部門和地區的所有員工姓名的列表。
舊的語法,我會運行下面的查詢:
select e.EmployeeName, d.DepartmentName, a.AreaName
from employees e, departments d, areas a
where e.DepartmentID = d.DepartmentID
and d.AreaID = a.AreaID
隨着新的語法,看來我只能加入同部門的員工,而不是部門在同一個查詢的區域。或者我應該使用子查詢?
選擇...從T1 T2一起上t1.c = t2.c加入T3上t2.c = t3.c – jarlh
的主要區別是在「事物的秩序」 - 與舊,甲骨文專有的語法,您可以一次枚舉您加入的所有表,然後將所有連接條件放在'where'子句中。使用SQL標準語法,您可以命名要連接的前兩個表,然後立即添加連接條件('on ...')。然後你說'join third_table'和連接條件,顯示第三個表如何連接到前兩個表的已經存在的連接。等等。 – mathguy