Tutorial MySQL

MySQL HOME Introdução ao MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECIONAR MySQL ONDE MySQL E, OU, NÃO MySQL ORDER BY MySQL INSERT INTO Valores NULL do MySQL ATUALIZAÇÃO DO MySQL MySQL EXCLUIR MySQL LIMIT MySQL MIN e MAX MySQL COUNT, AVG, SUM MySQL LIKE Caracteres curinga do MySQL MySQL IN MySQL ENTRE Aliases do MySQL Junções do MySQL MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN Auto-ingresso do MySQL MySQL UNION MySQL GROUP BY MySQL TENDO O MySQL EXISTE MySQL QUALQUER, TODOS MySQL INSERT SELECT CASO MySQL Funções Nulas do MySQL Comentários do MySQL Operadores MySQL

Banco de dados MySQL

MySQL Criar banco de dados MySQL Drop DB MySQL Criar Tabela Tabela de descarte do MySQL Tabela de alteração do MySQL Restrições do MySQL MySQL não nulo MySQL exclusivo Chave primária do MySQL Chave estrangeira do MySQL Verificação do MySQL Padrão do MySQL MySQL Criar Índice Incremento automático do MySQL Datas do MySQL Visualizações do MySQL

Referências do MySQL

Tipos de dados MySQL Funções do MySQL

Exemplos MySQL

Exemplos MySQL Teste do MySQL Exercícios do MySQL

Junções do MySQL


Tabelas de junção do MySQL

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

Tipos de Junções Suportados no MySQL

  • INNER JOIN: Retorna registros que possuem valores correspondentes em ambas as tabelas
  • LEFT JOIN: Retorna todos os registros da tabela da esquerda e os registros correspondentes da tabela da direita
  • RIGHT JOIN: Retorna todos os registros da tabela da direita e os registros correspondentes da tabela da esquerda
  • CROSS JOIN: Retorna todos os registros de ambas as tabelas

MySQL INNER JOIN  MySQL LEFT JOIN  MySQL RIGHT JOIN  MySQL CROSS 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
=
;