Linguaggio query e SQL

Pubblicato il 8 novembre 2025 alle ore 12:23
Linguaggio di Query (SQL)

🖥 Linguaggio di Query (SQL)

Guida completa al linguaggio di query, con esempi pratici, concetti fondamentali, tabelle e grafici concettuali per comprendere il funzionamento dei database.

Introduzione al linguaggio di query

Il linguaggio di query è lo strumento principale per interagire con i database. In particolare, SQL (Structured Query Language) permette di estrarre, inserire, aggiornare o cancellare dati in modo efficiente. SQL è un linguaggio dichiarativo: si specifica cosa ottenere e non come ottenerlo, facilitando l’interazione con i database anche complessi.

Cos’è una query

Una query è una richiesta al database. Può essere semplice, come estrarre tutti i dati da una tabella, oppure complessa, combinando più tabelle, filtri, aggregazioni e ordinamenti. Le query rispondono a domande come “Quali clienti hanno effettuato ordini superiori a 1000 euro?” o “Quali prodotti hanno incrementato le vendite del 20% rispetto all’anno scorso?”.

Tipologie principali di query SQL:

SELECT: per estrarre dati da una o più tabelle. Si possono usare filtri (WHERE), ordinamenti (ORDER BY), aggregazioni (SUM, AVG) e raggruppamenti (GROUP BY).

INSERT, UPDATE, DELETE: per inserire nuovi dati, aggiornare dati esistenti o cancellare informazioni dal database.

DDL (Data Definition Language): CREATE, ALTER, DROP per creare o modificare strutture di database.

DCL (Data Control Language): GRANT e REVOKE per gestire permessi e sicurezza.

Concetti chiave

Per comprendere le query è importante conoscere le tabelle, le chiavi primarie, le chiavi esterne e i join. Le tabelle contengono dati organizzati in righe e colonne. La chiave primaria identifica univocamente ogni riga, mentre la chiave esterna crea relazioni tra tabelle diverse. I join combinano informazioni da più tabelle.

Funzioni di aggregazione e filtri

Funzioni come SUM, AVG, COUNT, MAX e MIN permettono di ottenere dati statistici. La clausola WHERE filtra i dati in base a condizioni specifiche, ad esempio WHERE prezzo > 100 seleziona solo prodotti con prezzo superiore a 100.

Esempio pratico di query

SELECT c.Nome, c.Cognome, o.Importo
FROM Clienti c
INNER JOIN Ordini o ON c.ID = o.ClienteID
WHERE o.Importo > 500
ORDER BY o.Importo DESC;

Questa query estrae il nome e cognome dei clienti con ordini superiori a 500 euro, unendo le tabelle Clienti e Ordini sulla base della chiave esterna ClienteID.

Query avanzate

Le query possono diventare molto complesse, utilizzando sottoquery, CTE (Common Table Expressions), stored procedure e trigger. Le sottoquery permettono di annidare richieste; le CTE semplificano query complesse; le stored procedure automatizzano processi; i trigger attivano azioni automatiche quando avvengono modifiche nel database.

Grafico concettuale Join e Aggregazioni

Tabella riassuntiva

Tipo di query Scopo Esempi di comandi
SELECT Estrarre dati SELECT, WHERE, ORDER BY, GROUP BY, HAVING
INSERT Inserire nuovi dati INSERT INTO
UPDATE Aggiornare dati esistenti UPDATE SET WHERE
DELETE Cancellare dati DELETE FROM WHERE
DDL Gestione struttura database CREATE, ALTER, DROP
DCL Controllo accessi e permessi GRANT, REVOKE

Conclusione

Il linguaggio di query è uno strumento indispensabile per chi lavora con i dati. Permette di trasformare informazioni grezze in conoscenza utile, automatizzare processi, analizzare grandi volumi di dati e supportare decisioni aziendali e strategiche. Comprendere SQL significa avere una competenza chiave nell’era digitale.

© 2025 SQL e Database | Tutti i diritti riservati
SQL Interattivo

SQL Interattivo

Guida moderna e interattiva sui connettori logici, JOIN e funzioni aggregate in SQL

Sezioni interattive

Connettori Logici
JOIN SQL
Funzioni Aggregate

Connettori Logici

Permettono di combinare condizioni in SQL:

  • AND: tutte le condizioni devono essere vere
  • OR: almeno una condizione deve essere vera
  • NOT: inverte la condizione
  • IN: verifica se un valore appartiene a un insieme
  • BETWEEN: verifica se un valore è compreso in un intervallo
  • LIKE: ricerca pattern matching
  • IS NULL / IS NOT NULL: verifica valori nulli o non nulli

JOIN SQL

I JOIN servono a combinare tabelle:

INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN

Il grafico mostra concettualmente il numero di record restituiti da ciascun JOIN.

Funzioni Aggregate

  • SUM(): somma valori
  • AVG(): media valori
  • COUNT(): conta record
  • MAX(): massimo valore
  • MIN(): minimo valore

Si usano insieme a GROUP BY per aggregare dati per categoria.

© 2025 SQL Interattivo | Tutti i diritti riservati

🚀 Cos'è SQL?

SQL (spesso pronunciato "sequel" o S-Q-L) è l'acronimo di Structured Query Language. È un linguaggio standard utilizzato per gestire, interrogare e manipolare i dati all'interno di un database relazionale (RDBMS).

In termini semplici, se un database relazionale è un armadio pieno di faldoni organizzati (tabelle), SQL è la lingua che usi per parlare all'addetto (il DBMS - Database Management System) e chiedergli di trovare, aggiungere, modificare o organizzare quei faldoni.

A Cosa Serve?

  • Creare e modificare la struttura del database (tabelle, indici, viste).
  • Inserire, aggiornare ed eliminare i dati.
  • Recuperare i dati in modo mirato e complesso (le *query*).
  • Gestire i permessi di accesso ai dati.

🏗️ I Concetti Fondamentali

SQL si basa sul Modello Relazionale, dove i dati sono organizzati in tabelle collegate tra loro.

Termine SQL Concetto nel Modello Relazionale Descrizione
Tabella Relazione Una collezione di dati correlati, composta da righe e colonne.
Colonna Attributo Definisce il tipo di dati e il nome di un campo (es. *Nome*, *Età*).
Riga Tupla/Record Un'istanza di dati nella tabella (es. i dati di una singola persona).
Chiave Primaria Identificatore Univoco Una colonna che identifica in modo univoco ogni riga della tabella. Non può contenere valori duplicati o nulli.
Chiave Esterna Vincolo di Integrità Una colonna che punta alla Chiave Primaria di un'altra tabella. Stabilisce le relazioni.
Query Interrogazione L'istruzione SQL che invii al database per recuperare o manipolare dati.

📋 Categorie di Comandi SQL

1. DDL (Data Definition Language) - Definizione dei Dati

Serve a definire la struttura del database e dei suoi oggetti.

Comando Scopo Esempio
CREATECreare un nuovo database, tabella, indice, vista.CREATE TABLE Clienti (...)
ALTERModificare la struttura di un oggetto esistente.ALTER TABLE Clienti ADD Telefono VARCHAR(15)
DROPEliminare completamente un oggetto (tabella, indice, ecc.).DROP TABLE Clienti
TRUNCATERimuovere *tutti* i dati da una tabella, mantenendo la sua struttura.TRUNCATE TABLE Clienti

2. DML (Data Manipulation Language) - Manipolazione dei Dati

Serve a manipolare i dati all'interno delle tabelle esistenti.

Comando Scopo Esempio
INSERTInserire nuovi record (righe) in una tabella.INSERT INTO Clienti (Nome) VALUES ('Mario')
UPDATEModificare i dati esistenti in una o più righe.UPDATE Clienti SET Città = 'Roma' WHERE ID = 1
DELETEEliminare righe specifiche da una tabella.DELETE FROM Clienti WHERE Nome = 'Mario'

3. DQL (Data Query Language) - Interrogazione dei Dati

Serve esclusivamente a recuperare dati dal database.

Comando Scopo Esempio
SELECTSelezionare e visualizzare dati da una o più tabelle.SELECT Nome, Città FROM Clienti WHERE ID > 10

🔍 La Query SELECT: Il Cuore di SQL

Il comando SELECT è il più potente e flessibile di SQL. La sua sintassi base è:

SELECT colonna1, colonna2, ...
FROM nome_tabella
WHERE condizione;

Interrogazioni Avanzate:

  • JOINs: Uniscono righe da due o più tabelle in base a una colonna correlata (es. INNER JOIN).
  • Funzioni di Aggregazione: Eseguono calcoli su un insieme di righe e restituiscono un singolo valore (es. COUNT(), SUM(), AVG()).
  • GROUP BY: Raggruppa le righe per calcolare statistiche per ogni gruppo.
  • HAVING: Filtra i risultati dei gruppi creati con GROUP BY.