SQL | Operador MENOS

SQL | Operador MENOS

El operador MENOS se utiliza con dos SELECT declaraciones para devolver solo aquellas filas de la primera consulta que no están presentes en la segunda. Filtra todas las filas comunes y conserva solo las filas únicas del primer conjunto de resultados.

Representación pictórica :

sql-menos

Como puede ver en el diagrama anterior, el operador MENOS devolverá solo aquellas filas que están presentes en el conjunto de resultados de la Tabla1 y no presentes en el conjunto de resultados de la Tabla2.

Sintaxis:

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

En la sintaxis anterior

  • Primero SELECCIONAR: Recupera columnas especificadas (columna1 columna2... columnaN) de nombre_tabla1 opcionalmente filtradas por una condición WHERE.
  • MENOS: El operador MENOS devuelve filas de la primera consulta que no están presentes en la segunda consulta.
  • Segunda SELECCIONAR: Recupera las mismas columnas de table_name2 opcionalmente filtradas por una condición WHERE.
  • Producción: El resultado incluye filas de nombre_tabla1 que no existen en nombre_tabla2. Los duplicados se eliminan del resultado final.

Mesas :

Tabla 1

Nombre

DIRECCIÓN

Edad

Calificación

Duro

Delhi

20

A

Gaurav

Jaipur

21

B

Práctica

Bombay

21

A

Dhanraj

calcuta

22

B

Tabla 2

Nombre

Edad

Teléfono

Calificación

Akash

20

XXXXXXXXX

A

Dheeraj

21

XXXXXXXXX

B

Vaibhav

21

XXXXXXXXX

A

Dhanraj

22

XXXXXXXXX

B

Consultas :

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

Producción:

Nombre

Edad

Calificación

Duro

20

A

Gaurav

21

B

Práctica

21

A

En esta consulta:

  • Devuelve sólo las filas que son exclusivas de la Tabla1.
  • Si la última fila de ambas tablas es la misma, se excluye del resultado. Por tanto, sólo se devolverán las tres primeras filas de la Tabla1.

Nota :

  • El operador MINUS es compatible con Oracle pero no con SQL Server ni PostgreSQL.
  • Para esas bases de datos utilice el EXCEPT operador como alternativa.
Crear cuestionario