RUNWEBTOOLS
Italiano

Prontuario SQL

Le istruzioni SQL principali per interrogare e modificare i dati, raggruppate per attività. La sintassi esatta varia leggermente tra i database (PostgreSQL, MySQL, SQLite, SQL Server), ma i fondamenti qui sotto sono quasi universali. Per riordinare una query disordinata, usa il formattatore SQL.

Aggiornato 2026-07-06

Interrogare (SELECT)

IstruzioneCosa fa
SELECT * FROM tRestituire tutte le colonne e righe dalla tabella t
SELECT a, b FROM tRestituire solo le colonne a e b
SELECT DISTINCT a FROM tRestituire i valori univoci di a
... WHERE a = 5Filtrare le righe in cui a è uguale a 5
... ORDER BY a DESCOrdinare per a, decrescente
... LIMIT 10Restituire al massimo 10 righe
... OFFSET 20Saltare le prime 20 righe (paginazione)
SELECT COUNT(*) FROM tContare le righe
SELECT SUM(a), AVG(a) FROM tAggregato: totale e media di a
... GROUP BY categoryRaggruppare le righe per aggregare per categoria
... HAVING COUNT(*) > 5Filtrare i gruppi (WHERE per gli aggregati)

Filtrare (WHERE)

IstruzioneCosa fa
WHERE a IN (1, 2, 3)Corrispondere a un valore qualsiasi in un elenco
WHERE a BETWEEN 1 AND 9Corrispondere a un intervallo (estremi inclusi)
WHERE name LIKE 'A%'Corrispondenza di pattern: inizia con A (% = caratteri qualsiasi)
WHERE name LIKE '_at'_ corrisponde a esattamente un carattere
WHERE a IS NULLCorrispondere alle righe in cui a non ha valore
WHERE a > 5 AND b < 10Combinare condizioni con AND / OR

Unire tabelle

IstruzioneCosa fa
INNER JOIN u ON t.id = u.tidRighe con una corrispondenza in entrambe le tabelle
LEFT JOIN u ON t.id = u.tidTutte le righe della tabella di sinistra, con corrispondenza o meno
RIGHT JOIN u ON t.id = u.tidTutte le righe della tabella di destra
FULL JOIN u ON t.id = u.tidTutte le righe di entrambe le tabelle

Modificare i dati

IstruzioneCosa fa
INSERT INTO t (a, b) VALUES (1, 2)Aggiungere una nuova riga
UPDATE t SET a = 5 WHERE id = 1Modificare righe esistenti (attenzione al WHERE!)
DELETE FROM t WHERE id = 1Rimuovere righe (attenzione al WHERE!)

Schema (tabelle e indici)

IstruzioneCosa fa
CREATE TABLE t (id INT, name TEXT)Creare una nuova tabella
ALTER TABLE t ADD col TEXTAggiungere una colonna
DROP TABLE tEliminare una tabella e tutti i suoi dati
CREATE INDEX idx ON t (a)Aggiungere un indice per velocizzare le ricerche su a

Un'abitudine di sicurezza da mantenere: scrivi prima la clausola WHERE di un UPDATE o DELETE. Eseguirne uno senza WHERE modifica o elimina ogni riga della tabella.

Strumenti correlati