ALL, ANY, EXISTS
ID | NrOrdine | DataOrdine | IdVenditore | Valore |
1 | 1010 | 05/10/2018 | 3 | € 150,00 |
2 | 1011 | 05/10/2018 | 2 | € 1.111,00 |
3 | 1012 | 13/10/2018 | 4 | € 1.321,00 |
4 | 1013 | 15/10/2018 | 3 | € 321,00 |
5 | 1014 | 15/10/2018 | 4 | € 900,00 |
6 | 1015 | 11/02/2018 | 2 | € 1.888,00 |
7 | 1016 | 11/10/2018 | 3 | € 120,00 |
8 | 1017 | 11/10/2018 | 3 | € 970,00 |
ID | Nome | Cognome | IdFiliale |
1 | Paolo | Rossi | 1 |
2 | Marco | Bianchi | 2 |
3 | Marta | Verdi | 1 |
4 | Marco | Bello | 3 |
SELECT DISTINCT V.Nome, V.Cognome
FROM Venditori AS V
INNER JOIN Ordini AS O
ON V.ID=O.IdVenditore
WHERE O.IdVenditore<>ALL
(
SELECT O2.IdVenditore
FROM Ordini AS O2
WHERE O2.Valore<1000
);
Nome | Cognome |
Marco | Bianchi |
SELECT DISTINCT V.Nome, V.Cognome
FROM Venditori AS V
INNER JOIN Ordini AS O
ON V.ID=O.IdVenditore
WHERE O.IdVenditore=ANY
(
SELECT O2.IdVenditore
FROM Ordini AS O2
WHERE O2.Valore>1000
);
Nome | Cognome |
Marco | Bianchi |
Marco | Bello |
SELECT V.Nome, V.Cognome
FROM Venditori AS V
WHERE EXISTS
(
SELECT O.ID
FROM Ordini AS O
WHERE V.ID=O.IdVenditore AND O.Valore>1000
);
Nome | Cognome |
Marco | Bianchi |
Marco | Bello |