SQL Cheatsheet - comandi SQL più utili
Comandi e operazioni essenziali di SQL
Ecco un riassunto SQL conciso che copre i comandi più essenziali e le operazioni:
I professionisti SQL potrebbero non trovare nulla di nuovo qui, ma se sei nuovo nello sviluppo di database potresti trovarlo utile.
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;
Group by:
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 interrogare, modificare i 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 c’è 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 a sinistra e le righe corrispondenti dalla tabella a destra.
- Se non c’è una corrispondenza nella tabella a destra, include comunque la riga dalla tabella a sinistra e riempie i valori NULL per le colonne della tabella a destra.
- Utile quando si desidera visualizzare tutti i record dalla tabella a sinistra, anche se non hanno dati corrispondenti nella tabella a destra.
Differenze principali:
-
Set di risultati:
- INNER JOIN: Restituisce solo le righe corrispondenti.
- LEFT JOIN: Restituisce tutte le righe dalla tabella a sinistra, più le righe corrispondenti dalla tabella a destra.
-
Valori NULL:
- INNER JOIN: Non genera valori NULL per le righe non corrispondenti.
- LEFT JOIN: Genera valori NULL per le colonne della tabella a 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 a sinistra siano inclusi, fornendo una visione più completa dei dati della tabella a sinistra.
Comprendere queste differenze ti permette di scegliere il tipo di join appropriato in base alle tue specifiche esigenze di recupero dati e agli obiettivi di analisi.