Ecco alcuni esempi di operazioni di filtraggio usando la clausola WHERE in SQL:
-
Filtro su un Valore Specifico:
- Restituisci tutte le righe dove la colonna "Nome" è uguale a 'Mario'.
SELECT * FROM Tabella WHERE Nome = 'Mario';
-
Filtro con Operatori di Confronto:
- Restituisci le righe dove la colonna "Quantità" è maggiore di 10.
SELECT * FROM Magazzino WHERE Quantità > 10;
-
Filtro con Operatori Logici:
- Restituisci le righe dove la colonna "Categoria" è 'Elettronica' e la colonna "Prezzo" è inferiore a 500.
SELECT * FROM Prodotti WHERE Categoria = 'Elettronica' AND Prezzo < 500;
-
Filtro con Operatori di Stringa:
- Restituisci le righe che contengono la parola 'Java' nella colonna "Linguaggio".
SELECT * FROM Corsi WHERE Linguaggio LIKE '%Java%';
-
Filtro con IN:
- Restituisci le righe dove la colonna "Colore" è 'Rosso' o 'Blu'.
SELECT * FROM Auto WHERE Colore IN ('Rosso', 'Blu');
-
Filtro con IS NULL:
- Restituisci le righe dove la colonna "Note" è NULL.
SELECT * FROM Ordini WHERE Note IS NULL;
-
Filtro con BETWEEN:
- Restituisci le righe dove la colonna "Punteggio" è compresa tra 70 e 90 inclusi.
SELECT * FROM Studenti WHERE Punteggio BETWEEN 70 AND 90;
-
Filtro con LIKE e ESCAPE:
- Restituisci le righe che iniziano con 'A' e contengono una seconda lettera che può essere 'r' o 't'.
SELECT * FROM Parole WHERE Parola LIKE 'A%[rt]%';
Sperimenta con questi esempi per comprendere come la clausola WHERE può essere utilizzata per filtrare dati in base a diverse condizioni.
Esempi di query SQL che utilizzano funzioni principali e raggruppamenti:
-
Conteggio delle righe:
- Trova il numero totale di prodotti presenti in magazzino.
SELECT COUNT(*) AS NumeroProdotti FROM Prodotti;
-
Somma dei valori:
- Calcola la somma totale del valore degli ordini.
SELECT SUM(Valore) AS SommaValoreOrdini FROM Ordini;
-
Media dei valori:
- Calcola la media dei prezzi dei prodotti nella categoria "Elettronica".
SELECT AVG(Prezzo) AS MediaPrezzoElettronica FROM Prodotti WHERE Categoria = 'Elettronica';
-
Valore massimo:
- Trova il prezzo massimo tra tutti i prodotti.
SELECT MAX(Prezzo) AS PrezzoMassimo FROM Prodotti;
-
Valore minimo:
- Trova il prezzo minimo tra tutti i prodotti.
SELECT MIN(Prezzo) AS PrezzoMinimo FROM Prodotti;
-
Raggruppamento con COUNT:
- Conta il numero di prodotti disponibili in ciascuna categoria.
SELECT Categoria, COUNT(*) AS NumeroProdotti FROM Prodotti GROUP BY Categoria;
-
Raggruppamento con SUM:
- Calcola il valore totale degli ordini per ciascun cliente.
SELECT ClienteID, SUM(Valore) AS ValoreTotaleOrdini FROM Ordini GROUP BY ClienteID;
-
Raggruppamento con AVG:
- Calcola la media delle valutazioni per ciascun fornitore.
SELECT ID_Fornitore, AVG(Valutazione) AS MediaValutazione FROM Fornitori GROUP BY ID_Fornitore;
-
Raggruppamento con HAVING:
- Trova le categorie con un numero minimo di prodotti.
SELECT Categoria, COUNT(*) AS NumeroProdotti FROM Prodotti GROUP BY Categoria HAVING COUNT(*) >= 5;
-
Utilizzo di funzioni di data:
-
Trova la data dell'ordine più recente.
SELECT MAX(DataOrdine) AS UltimaDataOrdine FROM Ordini;
Questi sono esempi di come puoi utilizzare funzioni aggregate e clausole di raggruppamento nelle tue query SQL per ottenere informazioni aggregate e statistiche dai dati del tuo database.
Esempi di utilizzo delle funzioni di raggruppamento (GROUP BY) e della clausola HAVING:
-
Raggruppamento e Conteggio:
- Conta quanti prodotti ci sono in ciascuna categoria.
SELECT Categoria, COUNT(*) AS NumeroProdotti FROM Prodotti GROUP BY Categoria;
-
Raggruppamento e Somma:
- Calcola la somma delle quantità disponibili per ciascun fornitore.
SELECT ID_Fornitore, SUM(Quantità_Disponibile) AS SommaQuantità FROM Prodotti GROUP BY ID_Fornitore;
-
Raggruppamento e Media con Filtraggio:
- Calcola la media dei prezzi solo per i prodotti con valutazione superiore a 4.
SELECT Categoria, AVG(Prezzo) AS MediaPrezzo FROM Prodotti WHERE Valutazione > 4 GROUP BY Categoria;
-
Raggruppamento e Minimo/Massimo:
- Trova il prezzo minimo e massimo per ciascuna categoria.
SELECT Categoria, MIN(Prezzo) AS PrezzoMinimo, MAX(Prezzo) AS PrezzoMassimo FROM Prodotti GROUP BY Categoria;
-
Filtraggio con HAVING:
- Trova le categorie con una media di valutazione superiore a 3.
SELECT Categoria, AVG(Valutazione) AS MediaValutazione FROM Prodotti GROUP BY Categoria HAVING AVG(Valutazione) > 3;
-
Filtraggio con HAVING e Conteggio:
- Trova i fornitori con più di 5 prodotti in magazzino.
SELECT ID_Fornitore, COUNT(*) AS NumeroProdotti FROM Prodotti GROUP BY ID_Fornitore HAVING COUNT(*) > 5;
-
Raggruppamento su più colonne:
- Conta il numero di prodotti per ciascun fornitore in ogni categoria.
SELECT ID_Fornitore, Categoria, COUNT(*) AS NumeroProdotti FROM Prodotti GROUP BY ID_Fornitore, Categoria;
Questi esempi mostrano come utilizzare GROUP BY e HAVING per eseguire operazioni di raggruppamento, filtraggio e calcoli aggregati in SQL.