Skip to content

Esercizi Date SQL

Ecco degli esercizi semplici con soluzione per praticare le basi sull’utilizzo delle funzioni per le date in sql.

Esercizio 1

Ottieni tutti i film usciti nel corrente anno.
SELECT *
FROM Film
WHERE YEAR(Data_Uscita) = YEAR(CURRENT_DATE);

Esercizio 2

Ottieni tutti gli ordini effettuati nel mese corrente.
SELECT *
FROM Ordine
WHERE MONTH(Data_Ordine) = MONTH(CURRENT_DATE);

Esercizio 3

Ottieni tutti i dipendenti assunti negli ultimi 6 mesi.
SELECT *
FROM Dipendente
WHERE Data_Assunzione >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH);

Esercizio 4

Ottieni tutti i prodotti scaduti al giorno corrente.
SELECT *
FROM Prodotto
WHERE Data_Scadenza <= CURRENT_DATE;

Esercizio 5

Ottieni tutti i clienti che hanno effettuato un ordine negli ultimi 30 giorni.
SELECT c.*
FROM Cliente c
JOIN Ordine o ON c.ID_Cliente = o.ID_Cliente
WHERE o.Data_Ordine >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY);

Esercizio 6

Ottieni tutti i film che sono stati rilasciati nel corrente anno e hanno una durata superiore a 120 minuti.
SELECT *
FROM Film
WHERE YEAR(Data_Uscita) = YEAR(CURRENT_DATE)
AND Durata > 120;

Esercizio 7

Ottieni tutti i dipendenti che sono stati assunti prima del 1° gennaio 2022.
SELECT *
FROM Dipendente
WHERE Data_Assunzione < '2022-01-01';

Esercizio 8

Ottieni tutti i prodotti che scadono entro i prossimi 7 giorni.
SELECT *
FROM Prodotto
WHERE Data_Scadenza <= DATE_ADD(CURRENT_DATE, INTERVAL 7 DAY);

Esercizio 9

Ottieni tutti i clienti che hanno effettuato almeno un ordine nel mese di ottobre di qualsiasi anno.
SELECT c.*
FROM Cliente c
JOIN Ordine o ON c.ID_Cliente = o.ID_Cliente
WHERE MONTH(o.Data_Ordine) = 10;

Esercizio 10

Ottieni tutti i film che sono stati rilasciati negli ultimi 3 anni e hanno una valutazione superiore a 4.
SELECT *
FROM Film
WHERE YEAR(Data_Uscita) >= YEAR(CURRENT_DATE) - 3
AND Valutazione > 4;