MySQL RIGHT JOIN

Resumo : neste tutorial você aprenderá como usar o MySQL RIGHT JOINpara consultar dados de duas tabelas.

Introdução à cláusula RIGHT JOIN do MySQL

MySQL RIGHT JOINé semelhante, LEFT JOIN,exceto que o tratamento das tabelas unidas é revertido.

Aqui está a sintaxe de RIGHT JOINduas tabelas t1e t2:

SELECT 
    select_list
FROM t1
RIGHT JOIN t2 ON 
    join_condition;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • A t1é a mesa da esquerda e t2é a mesa da direita.
  • Especifica a join_conditionregra para correspondência de linhas de ambas as tabelas.

Se join_conditionusar o operador igual ( =) e as colunas unidas de ambas as tabelas tiverem o mesmo nome, você poderá usar a USINGsintaxe assim:

SELECT 
    select_list
FROM t1
RIGHT JOIN t2 USING(column_name);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Portanto, as seguintes condições de junção são equivalentes:

ON t1.column_name = t2.column_nameLinguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

e

USING (column_name);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Como RIGHT JOINfunciona.

O RIGHT JOINcomeça a selecionar dados da tabela direita ( t2). Ele combina cada linha da tabela direita com cada linha da tabela esquerda. Se ambas as linhas fizerem com que a condição de junção seja avaliada como TRUE, RIGHT JOINcombinará as colunas dessas linhas em uma nova linha e incluirá essa nova linha no conjunto de resultados.

Se uma linha da tabela direita não tiver uma linha correspondente da tabela esquerda, combina RIGHT JOINcolunas de linhas da tabela direita com NULLvalores de todas as colunas da tabela direita em uma nova linha e inclui essa linha no conjunto de resultados.

Em outras palavras, RIGHT JOINretorna todas as linhas da tabela direita, independentemente de haver ou não linhas correspondentes da tabela esquerda.

É importante enfatizar que as cláusulas RIGHT JOINand LEFT JOINsão funcionalmente equivalentes e podem substituir umas às outras desde que a ordem das tabelas seja invertida.

Observe que the RIGHT OUTER JOINé sinônimo de RIGHT JOIN. Portanto, você pode usá-los de forma intercambiável.

Exemplos de cláusula MySQL RIGHT JOIN

Usaremos as tabelas employeese customerso banco de dados de exemplo para a demonstração:

A coluna salesRepEmployeeNumberda tabela customersestá vinculada à coluna employeeNumberda employeestabela.

Um representante de vendas, ou um funcionário, pode ser responsável por zero ou mais clientes. E cada cliente é atendido por nenhum ou um representante de vendas.

Se o valor da coluna salesRepEmployeeNumberfor NULL, significa que o cliente não possui representante de vendas.

1) Exemplo simples de MySQL RIGHT JOIN

Esta instrução usa a RIGHT JOINcláusula join the table customerswith the table employees.

SELECT 
    employeeNumber, 
    customerNumber
FROM
    customers
RIGHT JOIN employees 
    ON salesRepEmployeeNumber = employeeNumber
ORDER BY 
	employeeNumber;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo MySQL RIGHT JOIN

Neste exemplo:

  • O RIGHT JOINretorna todas as linhas da tabela employees, independentemente de as linhas da tabela employeesterem valores correspondentes na coluna salesRepEmployeeNumberda tabela customers.
  • Se uma linha da tabela employeesnão tiver nenhuma linha correspondente da tabela customers, os RIGHT JOINusos NULLpara a customerNumbercoluna.

2) Usando MySQL RIGHT JOIN para encontrar linhas incompatíveis

A declaração a seguir usa a RIGHT JOINcláusula para encontrar funcionários que não são responsáveis ​​por nenhum cliente:

SELECT 
    employeeNumber, 
    customerNumber
FROM
    customers
RIGHT JOIN employees ON 
	salesRepEmployeeNumber = employeeNumber
WHERE customerNumber is NULL
ORDER BY employeeNumber;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MySQL RIGHT JOIN - encontre linhas incompatíveis

Resumo

  • MySQL RIGHT JOINpermite consultar dados de duas ou mais tabelas relacionadas.
  • O RIGHT JOINcomeça a selecionar linhas da tabela certa. Ele sempre retorna linhas da tabela direita, existindo ou não linhas correspondentes na tabela esquerda.
  • O RIGHT OUTER JOINé sinônimo de RIGHT JOIN.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *