quinta-feira, 6 de dezembro de 2012

Sql Server JOINs - SELF JOIN- Parte final

Olá pessoal, para finalizar a nossa série de artigos sobre os tipos de junções disponíveis no sql server 2008, vamos abordar agora a junção SELF JOIN. Está junção nada mais é do que uma junção entre a mesma tabela, para isso utilizamos um alias para diferenciar as tabelas. Para exemplificar a utilização desse operador vamos utilizar uma tabela temporária como mostro abaixo:


CREATE TABLE #EMPREGADO
(
ID INT ,
IDSUPERIOR INT NULL,
NOME VARCHAR(50)
)

INSERT INTO #EMPREGADO VALUES (1,NULL,'BILL')
INSERT INTO #EMPREGADO VALUES (2,1,'MARIA')
INSERT INTO #EMPREGADO VALUES (3,1,'JOSE')
INSERT INTO #EMPREGADO VALUES (4,2,'CARLOS')
INSERT INTO #EMPREGADO VALUES (5,3,'ANA')

SELECT E.ID, ISNULL(S.NOME,'PRESIDENTE') AS SUPERIOR, E.NOME 
FROM #EMPREGADO E LEFT JOIN #EMPREGADO S ON S.ID = E.IDSUPERIOR;

O resultado mostra a lista de empregados e seus superiores:


Veja que no SELF JOIN o operador utilizado é o LEFT JOIN para que o empregado sem superior (presidente) pudesse ser visualizado no resultset. Caso fosse utilizado o INNER JOIN o resultset teria apenas os empregados com chefes. Bom era isso até a próxima!

Nenhum comentário:

Postar um comentário