Ripasso veloce della sintassi
Sintassi | Funzione | |
SELECT * |
“Proietta” tutti campi | |
SELECT Campo1 |
… solo Campo1 | |
SELECT Campo1, Campo2 |
… i campi elencati (in ordine…) | |
SELECT Campo1 AS Etichetta1 |
… Campo1 con etichetta Etichetta1 | |
SELECT Funzione1(Campo1) |
… il risultato della Funzione1 con Campo1 come argomento | |
SELECT TABELLA1.Campo1 |
… 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 | |
|
|
|
FROM TABELLA1 |
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 | |
… | … | |
|
|
|
WHERE Campo1=Valore1 |
I record devono soddisfare il criterio | |
WHERE NOT Campo1=Valore1 |
.. NON … | |
WHERE Campo1=Valore1 AND Campo2=Valore2 |
… TUTTI i criteri | |
WHERE Campo1=Valore1 OR Campo2=Valore2 |
… ALMENO un criterio | |
… | … | |
|
|
|
ORDER BY Campo1 |
I record sono ordinati in modo crescente rispetto a Campo1 | |
ORDER BY Campo1 ASC |
… | |
ORDER BY Campo1 DESC |
… decrescente … | |
ORDER BY Campo1, Campo2 |
… 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 …