Compartilhar via


Tipos de relações

Quando você associa tabelas, o tipo de unir que você criar afeta as linhas que aparecem no conjunto de resultados.Você pode criar os seguintes tipos de associações:

  • junção interna   Uma unir que exibe somente as linhas que possuem uma correspondência em ambas as tabelas associadas.(Esse é o tipo padrão de unir no Consulta e View Designer.) Por exemplo, você pode unir o titles e publishers tabelas para criar um conjunto de resultados que mostra o nome do publicador para cada título. Uma junção interna, títulos para os quais você não tem informações sobre o publicador não são incluídos no conjunto de resultados, nem são editoras sem títulos.A SQL resultante para tal uma unir pode parecer como este:

    SELECT     title, pub_name
    FROM         titles INNER JOIN
    publishers ON titles.pub_id = publishers.pub_id
    
    Observação:

    Colunas que contenham Nulo não coincidem quaisquer valores quando você estiver criando uma junção interna e portanto é excluídas do conjunto de resultados.Valores nulo não coincidem com outros valores nulo.

  • unir externa   Uma unir que incluí linhas mesmo se eles ainda não tiver linhas relacionadas na tabela associada.Você pode criar três variações de uma unir externa para especificar as linhas não coincidentes para ser incluído:

    • junção externa esquerdaTodas as linhas da tabela denominada primeiro (a tabela "esquerda", que aparece mais à esquerda na cláusula unir) são incluídas.Linhas não coincidentes na tabela direita não são exibidos.Por exemplo, a demonstrativo SQL a seguir ilustra uma unir externa esquerda entre o titles e publishers tabelas para incluir todos os títulos, mesmo aqueles que você não tem informações sobre o publicador para:

      SELECT titles.title_id, 
             titles.title, 
             publishers.pub_name
      FROM titles LEFT OUTER JOIN publishers 
                  ON titles.pub_id 
                   = publishers.pub_id
      
    • unir externa direitaTodas as linhas na tabela chamada por segundo (a tabela "direita", que aparece à direita na cláusula unir) são incluídas.Linhas não coincidentes na tabela à esquerda não são incluídas.Por exemplo, uma unir externa direita entre o titles e publishers tabelas incluirá todas as editoras, mesmo aqueles que possuem sem títulos na titles tabela. A SQL resultante pode parecer como este:

      SELECT titles.title_id, 
             titles.title, 
             publishers.pub_name
      FROM titles RIGHT OUTER JOIN publishers 
                  ON titles.pub_id 
                   = publishers.pub_id
      
    • junção externa completa   Todas as linhas em todas as tabelas associadas são incluídas, se eles correspondem ou não.Por exemplo, uma unir externa completa entre titles e publishers mostra todos os títulos e todas as editoras, mesmo aqueles que não têm nenhuma correspondência na Outros tabela.

      SELECT titles.title_id, 
             titles.title, 
             publishers.pub_name
      FROM titles FULL OUTER JOIN publishers 
                  ON titles.pub_id 
                   = publishers.pub_id
      
      Observação:

      Alguns bancos de dados, sistema autônomo Oracle, não oferecem suporte a relações externas completas.

  • unir entre   Uma unir cujo conjunto de resultados inclui uma linha para cada combinação possível de linhas das duas tabelas.Por exemplo, os autores CROSS unir editoras produz um conjunto com uma linha para cada combinação autor/editora possível de resultados.A SQL resultante pode parecer como este:

    SELECT *
    FROM authors CROSS JOIN publishers 
    

Consulte também

Conceitos

Trabalhando com dados no painel de resultados

Outros recursos

Especificando critérios de Pesquisar