[go: up one dir, main page]

0% acharam este documento útil (0 voto)
16 visualizações12 páginas

Join SQL

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações12 páginas

Join SQL

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 12

JOIN

SQL
Índice
INNER JOIN ................................................................................................................................. 2
Outer Join ...................................................................................................................................... 3
Left Join ......................................................................................................................................... 4
SQL LEFT OUTER JOIN ............................................................................................................. 5
Syntax: ....................................................................................................................................... 5
Example: .................................................................................................................................... 5
Right Join....................................................................................................................................... 6
RIGHT OUTER JOIN ................................................................................................................... 7
FULL JOIN .................................................................................................................................... 8
Para que serve ................................................................................................................................ 8
Sintaxe ........................................................................................................................................... 8
Exemplo ......................................................................................................................................... 8
Semi Join ..................................................................................................................................... 10
Anti Join ...................................................................................................................................... 12
Sintaxe: .................................................................................................................................... 12
INNER JOIN

INNER JOIN é usada para combinar dados provenientes de duas ou mais tabelas da base de
dados, baseado em um relacionamento entre colunas dessas tabelas. Retorna linhas quando
houver pelo menos uma correspondência entre a duas tabelas.
SELECT coluna FROM tabela1 INNER JOIN tabela2 ON tabela1.coluna = tabela2.coluna
➔ tabela1.coluna é o nome da primeira tabela junto com o nome da coluna chave primária
ou estrangeira , e tabela2.coluna é o nome da segunda tabela junto com a chave estrangeira
ou primária dessa tabela que se relaciona com a chave da primeira tabela.

Exemplo:

SELECT tbl_Livro.Nome_Livro, tbl_Livro.ISBN, tbl_autores.Nome_Autor


FROM tbl_Livro
INNER JOIN tbl_autores
ON tbl_Livro.ID_Autor = tbl_autores.ID_Autor.
Outer Join

O Outer Join (também conhecido por Full Outer Join ou Full Join), conforme mostra a Figura 8,
tem como resultado todos os registros que estão na tabela A e todos os registros da tabela B.

SELECT tabela_A.nome
FROM tabela_A
FULL OUTER JOIN tabela_B
On tabela_A.chave = tabela_B.chave
Left Join

O Left Join no SQL basicamente retorna todos os registros da tabela da esquerda e os registros
correspondentes das tabelas da direita. Por exemplo, digamos que temos duas tabelas, Tabela
A e Tabela B. Quando Left Join é aplicado nessas duas tabelas, todos os registros da Tabela A e
apenas os registros correspondentes da Tabela B serão exibidos.

Exemplo de Sintaxe de LEFT JOIN:


SQL LEFT OUTER JOIN

O LEFT OUTER JOIN retorna todos os registos da tabela esquerda e os registos

correspondentes da tabela direita. Quando nenhuma correspondência for encontrada, as

colunas da tabela correta serão retornadas com os valores nulos.

Syntax:

SELECT columnList FROM table1 LEFT OUTER JOIN table2 ON table1.columnName =


table2.columnName;
or
SELECT columnList FROM table1 LEFT JOIN table2 ON table1.columnName =
table2.columnName;

Example:

SELECT P_ID, NAME, AMOUNT


FROM PERSONS
LEFT OUTER JOIN ORDERS
ON PERSONS.P_ID = ORDERS.PERSON_ID;
Right Join

Exemplo de utilização do comando RIGHT JOIN:


SELECT clientes.nome, pedidos.data_pedido, pedidos.quantidade, pedidos.preco FROM
clientes RIGHT JOIN pedidos ON clientes.id_cliente = pedidos.id_cliente;

O comando "RIGHT JOIN" é utilizado em SQL para combinar duas tabelas, retornando todos os
registros da tabela à direita (ou segunda tabela mencionada) e os registros correspondentes da
tabela à esquerda (ou primeira tabela mencionada), caso existam correspondências. Se não
houver correspondências, os campos da tabela à esquerda serão preenchidos com valores
nulos.
RIGHT OUTER JOIN

A sintaxe do RIGHT OUTER JOIN é a seguinte:

Nessa sintaxe, "tabela_esquerda" e "tabela_direita" são os nomes das tabelas que você deseja
juntar, "condição_de_junção" é a expressão que especifica como as duas tabelas devem ser
juntadas e "colunas" são as colunas que você deseja selecionar na consulta.

A cláusula RIGHT OUTER JOIN é usada para retornar todas as linhas da tabela à direita e
apenas as linhas correspondentes da tabela à esquerda, onde a condição de junção é verdadeira.
Se não houver correspondência, a tabela da esquerda ainda será listada, mas com valores nulos
em todas as colunas que correspondem à tabela da direita.

Por exemplo:

Nesse exemplo, estamos selecionando o ID do pedido e o nome do cliente de duas tabelas


diferentes. Estamos juntando as tabelas "orders" e "customers" usando o RIGHT OUTER JOIN
na coluna "customer_id" para obter todas as linhas da tabela "customers" e apenas as linhas
correspondentes da tabela "orders". Se um cliente não tiver nenhum pedido, a coluna order_id
terá valor nulo.
FULL JOIN
Para que serve
Retorna todos os recordes pedidos quando há uma correspondência entre as tabelas.

Sintaxe
SELECT nome_da_coluna
FORM tabela1
FULL JOIN tabela2
ON tabela1.nome_da_coluna = tabela2.nome_da_coluna
WHERE condição;

Exemplo
Tabela “Customers”

Tabela “Orders”

SQL
Resultado
Semi Join

emp_id nome cidade salario

101 John California 50000

102 Tom Mumbai 40000

103 Harry Delhi 80000

104 Rahul Bangalore 60000

105 Sakil Delhi 90000

skill_id Apt_name emp_id

404 Java/J2EE 103

405 Hadoop 101

406 C/C++ 105

407 Oracle 102

408 Spring 101


SELECT *
FROM Empregados
LEFT SEMI JOIN Departmento
ON Empregados.emp_id = Apt.emp_id;

Junção Final

emp_id nome cidade salario

101 John California 50000

102 Tom Mumbai 40000

103 Harry Delhi 80000

105 Sakil Delhi 90000


Anti Join

O Anti-Join é uma operação que retorna registros de uma tabela que não possuem
correspondência com outra tabela.

SELECT colunas
FROM tabela1
WHERE NOT EXISTS (
SELECT 1
FROM tabela2
WHERE tabela2.chave = tabela1.chave
)

Sintaxe:

Nesta sintaxe, "tabela1" é a tabela da qual você deseja retornar os registros que não
correspondem à tabela2, e "tabela2" é a tabela com a qual você deseja comparar. A condição
WHERE NOT EXISTS retorna todos os registros da tabela1 que não possuem uma
correspondência na tabela2 com base na coluna de chave comum entre as tabelas.
Substitua "colunas" pelos nomes das colunas que você deseja selecionar da tabela1.
Existem dois tipos de Anti Join, o Left Anti Join e o Right Anti Join (Esquerda ou Direita).
No exemplo abaixo, temos o LEFT ANTI JOIN.

Você também pode gostar