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 FilmWHERE YEAR(Data_Uscita) = YEAR(CURRENT_DATE);
Esercizio 2
Ottieni tutti gli ordini effettuati nel mese corrente.
SELECT *FROM OrdineWHERE MONTH(Data_Ordine) = MONTH(CURRENT_DATE);
Esercizio 3
Ottieni tutti i dipendenti assunti negli ultimi 6 mesi.
SELECT *FROM DipendenteWHERE Data_Assunzione >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH);
Esercizio 4
Ottieni tutti i prodotti scaduti al giorno corrente.
SELECT *FROM ProdottoWHERE Data_Scadenza <= CURRENT_DATE;
Esercizio 5
Ottieni tutti i clienti che hanno effettuato un ordine negli ultimi 30 giorni.
SELECT c.*FROM Cliente cJOIN Ordine o ON c.ID_Cliente = o.ID_ClienteWHERE 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 FilmWHERE 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 DipendenteWHERE Data_Assunzione < '2022-01-01';
Esercizio 8
Ottieni tutti i prodotti che scadono entro i prossimi 7 giorni.
SELECT *FROM ProdottoWHERE 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 cJOIN Ordine o ON c.ID_Cliente = o.ID_ClienteWHERE 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 FilmWHERE YEAR(Data_Uscita) >= YEAR(CURRENT_DATE) - 3 AND Valutazione > 4;