2013-04-09 122 views
15

我無法在關鍵詞join上找到文檔,但我在網頁上看到了使用它的示例。oracle sql中的join關鍵字和inner join關鍵字有什麼區別?

我在做一些實驗,在Oracle hr模式,在那裏我有表departments

  • deparment_name
  • manager_id
  • location_id

的表employees

  • first_name
  • employee_id

而且表locations

  • location_id
  • city

查詢應返回的部門名稱,FIRST_NAME的該部門的經理以及該部門所在的城市。

使用關鍵字join的代碼似乎比較返回一些結果使用關鍵字inner join

代碼join

select d.department_name, e.first_name,l.city 
from departments d 
    join employees e on d.manager_id=e.employee_id 
    join locations l on d.location_id=l.location_id 

代碼inner join

select d.department_name, e.first_name,l.city 
from departments d 
    inner join employees e on d.manager_id=e.employee_id 
    inner join locations l on d.location_id=l.location_id 

是這兩種情況之間存在差異,或者我恰好碰巧遇到了一種情況他們返回相同的結果?

+1

詢問並回答:http:// stackoverflow。com/questions/565620 /差異之間的連接和內部連接這不是對你的文章的批評。這是一個跡象,這已被問及之前,並有一個高質量的答案。 – xQbert 2013-04-09 01:38:08

+0

@xQbert:不是關於甲骨文,雖然 – zerkms 2013-04-09 01:38:52

+0

@xQbert:所以?那個答案是基於什麼? oracle有義務像sql server一樣行事嗎?你想引用一個通用的問題 - 找到一個關於ANSI SQL – zerkms 2013-04-09 01:40:04

回答

16

查詢表達式179 7.5 - 加入表

3)如果一個合格加入被指定和一個聯接類型是不是 指定,那麼INNER是隱含的。

  • 以下Oracle標準(9I起),該INNER前綴也是可選的。在9i之前,Oracle不遵循ANSI規則,甚至不支持JOIN語法。
相關問題