MS Access – SQL

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…

  1. 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 “…”
      1. Con *
      2. Con ?
    • Campo1 IS NULL
    • Campo1 IS NOT NULL
  2. Le funzioni di aggregazione sono
    • Avg(Campo1)
    • Count(*)
    • Count(Campo1)
    • Max(Campo1)
    • Min(Campo1)
    • Sum(Campo1)


Da fare

  1. FROM TABELLA1 LEFT JOIN TABELLA2 ON …
  2. FROM TABELLA1 RIGHT JOIN TABELLA2 ON …
  3. GROUP BY
  4. HAVING