Ripasso veloce della sintassi
Sintassi |
|
Funzione |
|
|
“Proietta” tutti campi |
|
|
… solo Campo1 |
|
|
… i campi elencati (in ordine…) |
|
SELECT Campo1 AS Etichetta1 |
|
|
… Campo1 con etichetta Etichetta1 |
|
|
… il risultato della Funzione1 con Campo1 come argomento |
|
|
… Campo1 della TABELLA1 (facoltativo se non ci sono campi omonimi) |
|
SELECT [TAB ELLA1].[Cam po1] AS [Eti chett1] |
|
|
Se un nome contiene degli spazi allora deve essere limitato da parentesi quadre |
|
|
|
|
|
I record provengono dalla TABELLA1 |
|
FROM TABELLA1, TABELLA2 WHERE TABELLA1.Codice=TABELLA2.Campo |
|
|
… dal prodotto delle tabelle … |
|
FROM TABELLA1 INNER JOIN TABELLA2 ON TABELLA1.Codice=TABELLA2.Campo |
|
|
… dalla congiunzione interna di TABELLA1 con TABELLA2 |
… |
|
… |
|
|
|
|
|
I record devono soddisfare il criterio |
|
|
.. NON … |
|
WHERE Campo1=Valore1 AND Campo2=Valore2 |
|
|
… TUTTI i criteri |
|
WHERE Campo1=Valore1 OR Campo2=Valore2 |
|
|
… ALMENO un criterio |
… |
… |
|
|
|
|
|
I record sono ordinati in modo crescente rispetto a Campo1 |
|
|
… |
|
|
… decrescente … |
|
|
… rispetto a Campo1 e, a parità di valori, rispetto a Campo2 |
Osserva…
- WHERE: i criteri possono essere
- Campo1 = Valore1
- Campo1 <> Valore1
- Campo1 < Valore1
- Campo1 > Valore1
- Campo1 <= Valore1
- Campo1 >= Valore1
- Campo1 BETWEEN Valore1 AND Valore2
- Campo1 IN (Valore1, Valore2)
- Campo1 LIKE “…”
- Campo1 NOT LIKE “…”
- Con *
- Con ?
- Campo1 IS NULL
- Campo1 IS NOT NULL
- Le funzioni di aggregazione sono
- Avg(Campo1)
- Count(*)
- Count(Campo1)
- Max(Campo1)
- Min(Campo1)
- Sum(Campo1)
Da fare
- FROM TABELLA1 LEFT JOIN TABELLA2 ON …
- FROM TABELLA1 RIGHT JOIN TABELLA2 ON …
- GROUP BY …
- HAVING …