Este tutorial do Oracle SQL se concentra na autojunção no oracle e fornece sintaxe, explicações, exemplos
Uma autojunção no Oracle é uma junção da tabela do Oracle com ela mesma. Podemos usar a tabela várias vezes .Cada ocorrência deve ter um nome alternativo.O banco de dados Oracle enquanto executa a consulta junta a tabela com ela mesma e produz o resultado
General syntax
select a.col1 ,b.col2 from mytable a,mytable b where <join condition> ;
Algumas autojunções no exemplo Oracle
(1) Apresentação de dados hierárquicos
Temos uma tabela de funcionários e queremos especificar o nome do funcionário, nome do gerente para todos os funcionários. Também temos um presidente que não se reporta a ninguém para mostrar na consulta
A consulta abaixo com self join com outer join para extrair os dados no formato desejado
Aqui estão alguns dos pontos que vale a pena notar na consulta acima
uma. Usamos alias diferentes para a ocorrência múltipla da tabela EMP
b. Usamos a junção externa esquerda para mostrar as informações do presidente também
(2) Outro exemplo para extrair as informações do funcionário que tem a mesma data de contratação
(3) Podemos usar a autojunção para transpor as linhas na coluna Além disso. Temos uma tabela customer_bill que tem várias linhas para as linhas de um mês diferente no ano e queremos mostrar o valor da fatura para um mês diferente no formato de coluna
Desc customer_bill
--------------
Customer_id Varchar2(10)
bill_amount Number
bill_month Varchar2(10)
consulta de tabela
select Customer_id,bill_amount,bill_month from customer_bill where customer_id=1111;
Consulta para transpor linhas em coluna
select a.customer_id , b.bill_amount Jan-amount , c.bill_amount Feb-amount , c.bill_amount Mar-amount from customer_bill a ,customer_bill b, customer_bill c where a.customer_id=b.customer_id , b.customer_id =c.customer_id and a.bill_month='JAN' and b.bill_month='FEB' and c.bill_month='MAR' and a.customer_id=1111;
Da mesma forma, podemos ter vários usos da autojunção no oracle. Por favor, deixe-me saber se você gosta deste post
Artigos relacionados
oracle sql join:O que são Oracle Joins com exemplos (Sql joins), Diferentes tipos de joins, Inner Join,Outer join,left outer join,right outer join,cross join com exemplos
exemplos de sintaxe de Oracle join :Confira este post para exemplos de sintaxe de junção oracle sobre junção interna, junção cruzada, junção externa, junção externa esquerda, junção externa direita
Método de junção no Oracle:Este post explica os vários métodos de junção de plano no Oracle, loop aninhado, sort merge join, cartesian join, hash join para ajudar a entender
Nested Loop Join in Oracle 11g:Confira esta página para todos os detalhes sobre Nested loop join no oracle, como o Nested Loop Join no Oracle 11g é diferente, como aninhado O loop join funciona no Oracle
Hash join no Oracle:Confira este post para a descrição detalhada do Hash join no Oracle, Como é diferente do Nested Loop join no Oracle