Junções (joins) – Inner joins

Um inner join aplica duas fases de processamento lógico de consulta – aplica o produto cartesiano entre duas tabelas de entrada como o cross join e, em seguida, filtra as linhas com base em um predicado que você especifica. Assim como o cross join, os inner joins têm duas sintaxes padrão.

  1.  SELECT E.EMPID, E.FIRSTNAME, E.LASTNAME, O.ORDERID

FROM HR.EMPLOYEES AS E

JOIN SALES.ORDERS AS O ON (E.EMPID = O.EMPID);

No exemplo acima, podemos verificar que não existe a palavra inner  pois a mesma é opcional porque um inner join é o padrão, assim você pode apenas especificar a palavra chave join.

Exemplo usando a palavra inner:

  1.  SELECT E.EMPID, E.FIRSTNAME, E.LASTNAME, O.ORDERID

FROM HR.EMPLOYEES AS E

INNER JOIN SALES.ORDERS AS O ON (E.EMPID = O.EMPID);

A outra forma de se escrever a frase SQL acima é:

  1. SELECT E.EMPID, E.FIRSTNAME, E.LASTNAME, O.ORDERID

FROM HR.EMPLOYEES AS E, SALES.ORDERS AS O

WHERE E.EMPID = O.EMPID;

Podemos observar que no exemplo acima não existe nenhuma cláusula on.