Tutorial SQL

SQL INÍCIO Introdução SQL Sintaxe SQL Seleção SQL SQL Select Distinto SQL Onde SQL E, Ou, Não Ordem SQL por SQL Inserir em Valores Nulos SQL Atualização SQL Excluir SQL SQL Select Top SQL Mínimo e Máximo Contagem SQL, Média, Soma Como SQL Curingas SQL Entrada SQL SQL entre Alias ​​SQL Junções SQL SQL Inner Join SQL Left Join Associação à direita do SQL Associação completa SQL Auto-junção SQL União SQL SQL Agrupar por SQL tendo SQL existe SQL Qualquer, Todos SQL Selecionar em SQL Inserir na seleção Caso SQL Funções Nulas SQL Procedimentos armazenados SQL Comentários SQL Operadores SQL

Banco de dados SQL

SQL Criar banco de dados SQL Drop DB Banco de dados de backup SQL SQL Criar Tabela Tabela de descarte de SQL Tabela de alteração SQL Restrições SQL SQL não nulo SQL exclusivo Chave Primária SQL Chave estrangeira SQL Verificação SQL Padrão SQL Índice SQL Incremento automático de SQL Datas SQL Visualizações SQL Injeção SQL Hospedagem SQL Tipos de dados SQL

Referências SQL

Palavras-chave SQL Funções do MySQL Funções do SQL Server Funções de acesso MS Referência Rápida SQL

Exemplos SQL

Exemplos SQL Teste SQL Exercícios de SQL Certificado SQL

Junções SQL


SQL JOIN

Uma JOINcláusula é usada para combinar linhas de duas ou mais tabelas, com base em uma coluna relacionada entre elas.

Vejamos uma seleção da tabela "Pedidos":

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

Em seguida, veja uma seleção da tabela "Clientes":

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

Observe que a coluna "CustomerID" na tabela "Pedidos" se refere ao "CustomerID" na tabela "Clientes". A relação entre as duas tabelas acima é a coluna "CustomerID".

Em seguida, podemos criar a seguinte instrução SQL (que contém um INNER JOIN), que seleciona os registros que possuem valores correspondentes em ambas as tabelas:

Exemplo

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

e vai produzir algo assim:

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996

Diferentes tipos de JOINs SQL

Aqui estão os diferentes tipos de JOINs no SQL:

  • (INNER) JOIN: Retorna registros que possuem valores correspondentes em ambas as tabelas
  • LEFT (OUTER) JOIN: Retorna todos os registros da tabela da esquerda e os registros correspondentes da tabela da direita
  • RIGHT (OUTER) JOIN: Retorna todos os registros da tabela da direita e os registros correspondentes da tabela da esquerda
  • FULL (OUTER) JOIN: Retorna todos os registros quando há uma correspondência na tabela esquerda ou direita

SQL INNER JOIN  SQL LEFT JOIN  SQL RIGHT JOIN  SQL FULL OUTER JOIN


Teste-se com exercícios

Exercício:

Insira as partes que faltam na JOINcláusula para unir as duas tabelas Orderse Customers, usando o CustomerIDcampo em ambas as tabelas como o relacionamento entre as duas tabelas.

SELECT *
FROM Orders
LEFT JOIN Customers
=
;