quarta-feira, 11 de janeiro de 2012

Auto - Relacionamento (Self Join)


Chave estrangeira auto-referenciada (SELF_JOIN) é a chave primária de uma tabela usada naquela mesma tabela para outro proposito. Pode se usar um auto-relacionamento para simulação de termos duas tabelas. Exemplo imagem abaixo.


Subconsulta em um auto relacionamento.
Consulta Normal

SELECT p1.nome, p2.nome AS Chefe
FROM palhaço_info1 p1
INNER JOIN palhaço_info2 p2
ON p1.id_chefe = p2.id_palhaco;

SELECT p1.nome,
(SELECT p1.id_chefe = id_palhaco) AS Chefe
FROM palhaço_info p1;