Riferimento SQL
Ogni parola chiave ha una breve spiegazione, un esempio funzionante sui dati del negozio di prova e gli errori più comuni.
- SELECTScegli quali colonne leggere da una tabella e in che ordine.
- WHERETieni solo le righe che corrispondono a una condizione. Viene eseguito prima del raggruppamento.
- ORDER BYOrdina le righe del risultato. Senza di esso, l'ordine non è garantito.
- DISTINCTRimuove le righe duplicate dal risultato, così ogni valore o combinazione compare una sola volta.
- LIKEConfronta un testo con un modello. % indica una sequenza qualsiasi di caratteri, _ esattamente uno.
- INVerifica se un valore è uno di un elenco. Più breve di diverse condizioni OR.
- NULLUn valore mancante. Non è zero e non è una stringa vuota, e non è mai uguale a niente, nemmeno a NULL.
- COUNT, SUM e AVGFunzioni di aggregazione: trasformano molte righe in un valore, o in un valore per gruppo.
- GROUP BYCrea una riga di risultato per ogni valore distinto (o combinazione di valori), poi aggrega ogni gruppo.
- HAVINGFiltra i gruppi dopo che sono stati aggregati. WHERE filtra prima le righe.
- JOIN (INNER e LEFT)Combina le righe di due tabelle dove una chiave corrisponde. Un inner join mantiene solo le corrispondenze; un left join mantiene ogni riga della tabella di sinistra.
- INSERT, UPDATE e DELETEModifica i dati: aggiungi righe, cambia i valori nelle righe e rimuovi righe.
- CASESceglie un valore per riga, in base a delle condizioni. Funziona come IF e IFS in Excel.
- WITH (espressioni di tabella comuni)Dai un nome a una sottoquery con WITH, poi leggila nella query principale come una tabella.
- EXISTS e NOT EXISTSVerifica se una sottoquery trova almeno una riga. EXISTS è vero se la trova; NOT EXISTS è vero se non ne trova nessuna.
- Funzioni finestra: OVERCalcola attraverso le righe senza raggrupparle. OVER indica quali righe guardare, come RANK e i totali progressivi in Excel.
- UNION e UNION ALLImpila le righe di due query in un unico risultato. UNION rimuove le ripetizioni; UNION ALL le mantiene.
- RIGHT JOIN e FULL JOINUn RIGHT JOIN mantiene ogni riga della tabella di destra. Un FULL JOIN mantiene le righe senza corrispondenza di entrambe le tabelle.
- Funzioni di testo e di dataUnisci testi, cambia le maiuscole, ritaglia una parte di un valore e sottrai date per ottenere i giorni.
- CREATE TABLE e vincoliCrea una nuova tabella e imposta le regole che i suoi dati devono rispettare.
- Transazioni: BEGIN, COMMIT e ROLLBACKUna transazione raggruppa le modifiche. COMMIT le conferma; ROLLBACK le annulla.
- MIN e MAXRestituiscono il valore più piccolo o più grande di una colonna. Funzionano con numeri, date e testo.
- LAG e LEADFunzioni finestra che leggono un valore dalla riga precedente (LAG) o successiva (LEAD), senza un self-join.
- INTERSECT e EXCEPTCombina i risultati di due query: mantieni le righe trovate in entrambe (INTERSECT) o solo nella prima (EXCEPT).
- CAST e ::Converte un valore in un altro tipo di dato.
- LIMIT e OFFSETRestituisce solo alcune righe: le prime n, oppure una pagina che inizia dopo m righe.
- ALTER TABLE, CREATE VIEW e CREATE INDEXModifica la struttura di una tabella, salva una query con un nome e velocizza le ricerche.
- STRING_AGG, FILTER e ROLLUPUnisce i valori di un gruppo in un testo, conta in base a una condizione e aggiunge righe di subtotale.
- ON CONFLICT e RETURNINGInserisce una riga oppure aggiorna quella esistente (upsert), e restituisce le righe modificate.