Baixe o app para aproveitar ainda mais
Prévia do material em texto
Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado Banco de Dados I Outer Join Mostra todas as linhas de uma tabela, mesmo quando elas não satisfazem a condição de junção. O Outer Join pode ser assinalado no lado direito ou no lado esquerdo; Se for usado left outer join todas as linhas da tabela à esquerda são incluídas no resultado. Se fosse usado right outer join, a tabela à direita mostraria todas as linhas e a tabela à esquerda, apenas as relacionadas. Se for usado full outer join, todas as linhas de ambas as tabelas são incluídas, mesmo as que não estão relacionadas com a outra tabela. Exemplo: select nomecidade,nomeestado from estado right outer join cidade on estado.cdestado = cidade.cdestado SELECT * FROM ITENSPEDIDOS LEFT OUTER JOIN DESCRICAOMATERIAL ON ITENSPEDIDOS.COD_DESCRICAO = DESCRICAOMATERIAL.COD_DESCRICAO INNER JOIN MATERIAIS ON ITENSPEDIDOS.COD_MATERIAL = MATERIAIS.COD_MATERIAL WHERE [ITENSPEDIDOS].[COD_PED] = 2 Auto-Relacionamento Fatec Sorocaba Banco de Dados I Prof. Cristiane Palomar Mercado Às vezes é necessário unir uma tabela a ela mesma. Para localizar o nome do gerente de cada funcionário, é preciso unir a tabela Empregado a ela mesma ou executar uma autojunção. Por exemplo: Para consultar o nome do gerente do Paulo é necessário: - localizar Paulo na tabela de empregado. - Localizar o número do gerente de Paulo. - Localizar o nome do gerente através do seu número. Neste processo, é necessário consultar a tabela duas vezes. select funcionário.nome+’trabalha para’+gerente.nome from empregado funcionario, empregado gerente where funcionário.idGerente = gerente.idfuncionario E exemplo acima une a tabela EMPREGADO a ela mesmo. Para simular duas tabelas na cláusula FROM há dois apelidos, funcionário e gerente para a mesma tabela. Neste exemplo, a cláusula WHERE contém a junção que significa “onde o número do gerente do empregado corresponde ao número do funcionário referente ao gerente”. Bibliografia Greenberg Nancy, Nathan Priya, Learn Oracle from Oracle. Introdução ao Oracle 9i: SQL. Oracle University. 2002. Munari, Antonio Cesar. Apostila Sql em Ambiente Oracle. Bernardo, Antonio Sérgio. Apostila Banco de Dados Relacional, SqlServer e Projeto de Banco de Dados. 2011. http://msdn.microsoft.com/pt-br/library. Acesso em 23/09/2012.
Compartilhar