SQL Cheatsheet
Comandi e operazioni essenziali di SQL
Ecco un riassunto SQL conciso che copre i comandi essenziali e le operazioni:
Query dei dati
Seleziona colonne specifiche:
SELECT column1, column2 FROM table_name;
Seleziona tutte le colonne:
SELECT * FROM table_name;
Seleziona valori distinti:
SELECT DISTINCT column1, column2 FROM table_name;
Filtra i dati:
SELECT column1, column2 FROM table_name WHERE condition;
Ordina i dati:
SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];
Modifica dei dati
Inserisci una riga:
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
Aggiorna i dati:
UPDATE table_name SET column1 = value1 WHERE condition;
Elimina i dati:
DELETE FROM table_name WHERE condition;
Operazioni sulle tabelle
Crea una tabella:
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype
);
Modifica una tabella:
ALTER TABLE table_name ADD column_name datatype;
Elimina una tabella:
DROP TABLE table_name;
Join
Join interno:
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
Join a sinistra:
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
Funzioni di aggregazione
Conta le righe:
SELECT COUNT(*) FROM table_name;
Sommare i valori:
SELECT SUM(column_name) FROM table_name;
Calcola la media:
SELECT AVG(column_name) FROM table_name;
Gruppo per:
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
Sottoquery
Sottoquery in SELECT:
SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;
Sottoquery in WHERE:
SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);
Viste
Crea una vista:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
Elimina una vista:
DROP VIEW view_name;
Questo riassunto copre i comandi e le operazioni SQL più comunemente utilizzati.
Fornisce un riferimento rapido per la query, la modifica dei dati, le operazioni sulle tabelle, i join, le funzioni di aggregazione, le sottoquery e le viste.
Join interno vs esterno
INNER JOIN e LEFT JOIN sono due tipi comuni di operazioni di join SQL che differiscono nel modo in cui combinano i dati da più tabelle:
-
INNER JOIN:
- Restituisce solo le righe in cui esiste una corrispondenza in entrambe le tabelle in base alla condizione di join.
- Esclude qualsiasi riga che non ha una corrispondenza nell’altra tabella.
- Utile quando si desidera recuperare solo i dati che esistono in entrambe le tabelle.
-
LEFT JOIN (chiamato anche LEFT OUTER JOIN):
- Restituisce tutte le righe dalla tabella di sinistra e le righe corrispondenti dalla tabella di destra.
- Se non c’è una corrispondenza nella tabella di destra, include comunque la riga dalla tabella di sinistra e riempie i valori NULL per le colonne della tabella di destra.
- Utile quando si desidera visualizzare tutti i record della tabella di sinistra, anche se non hanno dati corrispondenti nella tabella di destra.
Differenze principali:
-
Set di risultati:
- INNER JOIN: Restituisce solo le righe corrispondenti.
- LEFT JOIN: Restituisce tutte le righe dalla tabella di sinistra, più le righe corrispondenti dalla tabella di destra.
-
Valori NULL:
- INNER JOIN: Non genera valori NULL per le righe non corrispondenti.
- LEFT JOIN: Genera valori NULL per le colonne della tabella di destra quando non c’è una corrispondenza.
-
Caso d’uso:
- INNER JOIN: Quando si ha bisogno di dati che esistono in entrambe le tabelle.
- LEFT JOIN: Quando si ha bisogno di tutti i dati da una tabella e di eventuali dati corrispondenti da un’altra.
-
Completezza dei dati:
- INNER JOIN: Potrebbe escludere dati se non ci sono corrispondenze.
- LEFT JOIN: Garantisce che tutti i dati dalla tabella di sinistra siano inclusi, fornendo una visione più completa dei dati della tabella di sinistra.
Comprendere queste differenze consente di scegliere il tipo di join appropriato in base alle specifiche esigenze di recupero dei dati e agli obiettivi di analisi.