SQL | SUBQUERY |
è una SELECT dentro le clausole WHERE o HAVING
di una SELECT, INSERT, UPDATE, DELETE o dentro un'altra subquery
utilizzazioni più comuni:
- va racchiusa tra parentesi
- non ammette ORDER BY, COMPUTE, FOR BROWSE
- non può essere inserita in ORDER BY
- non c'è limite all'annidamento
- ha cambiato nome al linguaggio (Structured Query Language)
- spesso lo stesso risultato si ottiene con una join
- WHERE espressione [NOT] IN (subquery)
- WHERE espressione operatore [ANY|ALL] (subquery)
- WHERE [NOT] EXISTS (subquery)
- se restituisce un solo valore, può essere usata dentro un'espressione
SELECT nome, cognome, città FROM anagrafica WHERE città IN
(SELECT città FROM anagrafica WHERE cognome = 'Fontana')
(lo stesso risultato si ottiene con una self-join)