2013-04-09 15 views
15

Non riesco a trovare documenti sulla parola chiave join ma ho visto esempi sul web che lo utilizzavano.Qual è la differenza tra la parola chiave join e la parola chiave inner join in oracle sql?

stavo facendo qualche esperimento con esso in Oracle hr schema, dove ho tavolo departments:

  • deparment_name
  • manager_id
  • location_id

Un tavolo employees:

  • first_name
  • employee_id

E tabella locations:

  • location_id
  • city

query deve restituire la department_name, first_name di il responsabile del dipartimento e la città in cui si trova il dipartimento.

Il codice utilizzando la parola chiave join sembrano restituire il qualche risultato rispetto al utilizzando la parola chiave inner join

Codice con 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 

Codice con 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 

Is c'è una differenza tra le due condizioni, o mi capita proprio di incappare in una situazione wh prima restituiscono gli stessi risultati?

+1

chiesto in precedenza e ha risposto: http: // stackoverflow.it/questions/565620/difference-between-join-and-inner-join Questa non è una critica per il tuo post. È un'indicazione che questo è stato chiesto prima e ha una risposta di qualità lì. – xQbert

+0

@xQbert: non su oracle però – zerkms

+0

@xQbert: quindi? Su cosa è basata questa risposta? Oracolo è obbligato a comportarsi come SQL Server? Vuoi fare riferimento a una domanda generica: trova una su ANSI SQL – zerkms

risposta

16

Query espressioni 179 7.5 - unito tavolo

3) Se un qualificato join è specificato e un tipo di join è non è specificato , quindi INNER è implicito.

  • Dopo Oracle Standard (9i in poi), il prefisso INNER è opzionale. Prima della 9i, Oracle non seguiva le regole ANSI e non supportava nemmeno la sintassi JOIN.
Problemi correlati