O banco de dados relacional Oracle usa Structured Query Language, ou SQL , para construir e manter as estruturas de banco de dados , modificar dados e gerar relatórios a partir dos dados. Tal como acontece com outros bancos de dados que usam SQL , a cláusula JOIN da instrução SELECT é de fundamental importância para a Oracle, como ele se conecta temporariamente mesas separadas para formar estruturas de dados mais completos. Oracle versão 8i usado um símbolo de adição para indicar uma variação chamada de junção externa . Selecione e Junte-se
a Oracle bancos de dados relacionais usam instrução SELECT de SQL para exibe listas de dados , incluindo os campos em tabelas e resultados calculados. SELECT tem cláusulas opcionais para extrair condicionalmente informações, classificá-lo e criar títulos e totais de grupo . Com a cláusula JOIN , você cria uma tabela virtual , ligando duas ou mais tabelas separadas em campos de dados comuns. Por exemplo, uma tabela de pedidos tem um número de ordem , o código do item e quantidade comprada , mas nenhuma descrição do item. A descrição do item reside na tabela de itens. Para imprimir uma lista de pedidos com descrições , você juntar-se aos pedidos e itens de tabelas sobre o código do item . Juntando-se as duas tabelas , você tem acesso aos campos em ambos.
Inner Join
A cláusula JOIN no Oracle 8i SQL tem uma duas variações básicas, internas e exterior . Uma junção interna registros combina a partir de um par de tabelas , mas se uma tabela não tem registros que correspondem aos outros de , a tabela virtual resultante não contém registros para qualquer um. Uma junção interna tem entradas apenas quando ambas as tabelas têm registros correspondentes. Por exemplo, uma tabela de comentários de ordem tem número de ordem e comentários campos. Nem todas as ordens têm de comentários, no entanto, se você ligar a tabela de pedidos com a tabela de comentários de ordem usando uma junção interna , a tabela virtual contém somente ordens com comentários
explícita associação externa < br. >
Uma junção externa sempre inclui os registros de uma das duas tabelas vinculadas , independentemente se o outro tem entradas correspondentes ou não. Se a junção é uma junção externa esquerda , SQL inclui a tabela à esquerda , uma junção externa direita inclui registros da tabela à direita. Quando a instrução SQL SELECT inclui as palavras , "LEFT OUTER JOIN " ou " junção externa direita ", ele é chamado de junção explícita . A seguinte instrução SELECT inclui todos os registros de pedidos , incluindo aqueles com comentários:
Selecione orders.order_number , código do cliente , comentários de ordens de junção externa esquerda order_comments ON orders.order_number = order_comments.order_number ;
a Oracle começou a usar o exterior junção explícita com a versão 9i formato de seu software.
implícita associação externa
Além de um exterior junção explícita , Oracle 8i tem uma sintaxe opcional que permite que você coloque a junção na cláusula WHERE. Neste caso , você deve especificar uma junção externa esquerda , colocando um símbolo de mais à esquerda de um sinal de igual , uma junção externa direita tem o símbolo mais à direita. Esta instrução SELECT faz uma junção externa esquerda entre as ordens e comentários ordem tabelas como antes, mas ele usa a sintaxe implícita :
Selecione orders.order_number , código do cliente , comentários de encomendas, order_comments ONDE orders.order_number + = order_comments . order_number ;
Embora o exterior junção implícita é mais compacto e mais fácil de escrever , os especialistas preferem o método explícito como ele adere mais de perto a sintaxe SQL padrão e evita equívocos no processo de juntar
.