SQL Cheatsheet - comandi SQL più utili

Comandi e operazioni essenziali di SQL

Indice

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.

sql in una cattedrale gotica

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:

  1. 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.
  2. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.