Ecco degli esercizi semplici con soluzione per praticare le basi sulla creazione di VIEW o Viste in SQL.
Esercizio 1
Crea una vista chiamata "VistaCliente" che mostri il nome, il cognome e l'email di tutti i clienti.
CREATE VIEW VistaCliente ASSELECT Nome, Cognome, EmailFROM Cliente;
Esercizio 2
Crea una vista chiamata "VistaProdotto" che mostri il codice prodotto, il titolo e il prezzo di tutti i prodotti.
CREATE VIEW VistaProdotto ASSELECT CodiceProdotto, Titolo, PrezzoFROM Prodotto;
Esercizio 3
Crea una vista chiamata "VistaNoleggio" che mostri il nome del cliente, il titolo del film e la data di noleggio di tutti i noleggi.
CREATE VIEW VistaNoleggio ASSELECT c.Nome AS NomeCliente, f.Titolo AS TitoloFilm, n.DataNoleggioFROM Noleggio n, Cliente c, Film fWHERE n.IdCliente = c.IdCliente AND n.IdFilm = f.IdFilm;
Esercizio 4
Crea una vista chiamata "VistaDipendente" che mostri il nome, il cognome, il ruolo e la data di assunzione di tutti i dipendenti.
CREATE VIEW VistaDipendente ASSELECT Nome, Cognome, Ruolo, DataAssunzioneFROM Dipendente;
Esercizio 5
Crea una vista chiamata "VistaFilmCommedia" che mostri il titolo e il genere dei film di genere "Commedia".
CREATE VIEW VistaFilmCommedia ASSELECT Titolo, GenereFROM FilmWHERE Genere = 'Commedia';
Esercizio 6
Crea una vista chiamata "VistaNoleggiRecenti" che mostri il nome del cliente, il titolo del film e la data di noleggio dei noleggi effettuati negli ultimi 30 giorni.
CREATE VIEW VistaNoleggiRecenti ASSELECT c.Nome AS NomeCliente, f.Titolo AS TitoloFilm, n.DataNoleggioFROM Noleggio n, Cliente c, Film fWHERE n.IdCliente = c.IdCliente AND n.IdFilm = f.IdFilm AND n.DataNoleggio >= DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY);
Esercizio 7
Crea una vista chiamata "VistaProdottiInPromozione" che mostri il codice prodotto, il titolo e il prezzo dei prodotti con uno sconto superiore al 10%.
CREATE VIEW VistaProdottiInPromozione ASSELECT CodiceProdotto, Titolo, PrezzoFROM ProdottoWHERE Sconto > 10;
Esercizio 8
Crea una vista chiamata "VistaClienteNoleggio" che mostri il nome, il cognome, l'email e il numero di noleggi effettuati da ogni cliente.
CREATE VIEW VistaClienteNoleggio ASSELECT c.Nome, c.Cognome, c.Email, COUNT(n.IdNoleggio) AS NumeroNoleggiFROM Cliente cLEFT JOIN Noleggio n ON c.IdCliente = n.IdClienteGROUP BY c.IdCliente;
Esercizio 9
Crea una vista chiamata "VistaFilmRilascioAnno" che mostri il titolo del film e l'anno di rilascio per tutti i film.
CREATE VIEW VistaFilmRilascioAnno ASSELECT Titolo, YEAR(DataRilascio) AS AnnoRilascioFROM Film;
Esercizio 10
Crea una vista chiamata "VistaDipendenteAmministrativo" che mostri il nome, il cognome e la data di assunzione dei dipendenti con il ruolo "Amministrativo".
CREATE VIEW VistaDipendenteAmministrativo ASSELECT Nome, Cognome, DataAssunzioneFROM DipendenteWHERE Ruolo = 'Amministrativo';