SQL | Operador MENOS

SQL | Operador MENOS

O operador MINUS é usado com dois SELECT instruções para retornar apenas as linhas da primeira consulta que não estão presentes na segunda. Ele filtra todas as linhas comuns e mantém apenas as linhas exclusivas do primeiro conjunto de resultados.

Representação Pictórica :

sql-menos

Como você pode ver no diagrama acima, o operador MENOS retornará apenas as linhas que estão presentes no conjunto de resultados da Tabela1 e não presentes no conjunto de resultados da Tabela2.

Sintaxe:

 SELECT column1 column2 ... columnN   
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];

Na sintaxe acima

  • Primeiro SELECIONE: Recupera colunas especificadas (coluna1 coluna2 ... colunaN) de table_name1 opcionalmente filtrada por uma condição WHERE.
  • MENOS: O operador MENOS retorna linhas da primeira consulta que não estão presentes na segunda consulta.
  • Segunda SELEÇÃO: Recupera as mesmas colunas de table_name2 opcionalmente filtradas por uma condição WHERE.
  • Saída: O resultado inclui linhas de table_name1 que não existem em table_name2. As duplicatas são removidas da saída final.

Tabelas :

Tabela 1

Nome

Endereço

Idade

Nota

Severo

Délhi

20

UM

Gaurav

Jaipur

21

B

Prática

Mumbai

21

UM

Dhanraj

Calcutá

22

B

Tabela 2

Nome

Idade

Telefone

Nota

Akash

20

XXXXXXXXX

UM

Dheeraj

21

XXXXXXXXX

B

Vaibhav

21

XXXXXXXXX

UM

Dhanraj

22

XXXXXXXXX

B

Consultas :

 SELECT NAME AGE GRADE   
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;

Saída:

Nome

Idade

Nota

Severo

20

UM

Gaurav

21

B

Prática

21

UM

Nesta consulta:

  • Retorna apenas as linhas exclusivas da Tabela1.
  • Se a última linha de ambas as tabelas for igual, ela será excluída do resultado. Assim, apenas as três primeiras linhas da Tabela1 serão retornadas.

Observação :

  • O operador MINUS é compatível com Oracle, mas não é compatível com SQL Server ou PostgreSQL.
  • Para esses bancos de dados, use o EXCEPT operador como alternativa.
Criar questionário