SQL | Operador MINUS
L'operador MINUS s'utilitza amb dos SELECT sentències per retornar només les files de la primera consulta que no estan presents a la segona. Filtra totes les files comunes i només conserva les files úniques del primer conjunt de resultats.
Representació pictòrica :
Com podeu veure al diagrama anterior, l'operador MENY retornarà només aquelles files que estan presents al conjunt de resultats de la Taula1 i que no estan presents al conjunt de resultats de la Taula2.
Sintaxi:
SELECT column1 column2 ... columnN
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];En la sintaxi anterior
- Primer SELECT: Recupera les columnes especificades (column1 column2 ... columnN) de table_name1 filtrades opcionalment per una condició WHERE.
- MENYS: L'operador MINUS retorna les files de la primera consulta que no estan presents a la segona consulta.
- Segon SELECT: Recupera les mateixes columnes de table_name2 opcionalment filtrades per una condició WHERE.
- Sortida: El resultat inclou files de nom_taula1 que no existeixen a nom_taula2. Els duplicats s'eliminen de la sortida final.
Taules :
Taula 1
| Nom | Adreça | Edat | Grau |
|---|---|---|---|
| Aspre | Delhi | 20 | A |
| Gaurav | jaipur | 21 | B |
| Pràctica | Bombai | 21 | A |
| Dhanraj | Kolkata | 22 | B |
Taula 2
| Nom | Edat | Telèfon | Grau |
|---|---|---|---|
| Akash | 20 | XXXXXXXXX | A |
| Dheeraj | 21 | XXXXXXXXX | B |
| Vaibhav | 21 | XXXXXXXXX | A |
| Dhanraj | 22 | XXXXXXXXX | B |
Consultes :
SELECT NAME AGE GRADE
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;
Sortida:
| Nom | Edat | Grau |
|---|---|---|
| Aspre | 20 | A |
| Gaurav | 21 | B |
| Pràctica | 21 | A |
En aquesta consulta:
- Retorna només les files úniques per a Taula1.
- Si l'última fila de les dues taules és la mateixa, s'exclou del resultat. Per tant, només es retornaran les tres primeres files de la taula 1.
Crea un qüestionariNota :
- L'operador MINUS és compatible amb Oracle, però no és compatible amb SQL Server o PostgreSQL.
- Per a aquestes bases de dades utilitzeu el
EXCEPToperador com a alternativa.