01. Query
Gli esercizi inclusi in questa pagina fanno riferimento al database di default predisposto dal sito w3schools.com
Schema logico relazionale del database orders.db
Customers(CustomerID, CustomerName, ContactName, Address, City, PostalCode, Country)
Categories(CategoryID, CategoryName, Description)
Employees(EmployeeID, LastName, FirstName, BirthDate, Photo, Notes)
OrderDetails(OrderDetailID, OrderID↑, ProductID↑, Quantity)
OrderID FK (Orders.OrderID)
ProductID FK(Products.ProductID)
Orders(OrderID, CustomerID↑, EmployeeID↑, OrderDate, ShipperID↑)
CustomerID FK (Customers.CustomerID)
EmployeeID FK(Employees.EmployeeID)
ShipperID FK (Shippers.ShipperID)
Products(ProductID, ProductName, SupplierID↑, CategoryID↑, Unit, Price)
SupplierID FK (Suppliers.SupplierID)
CategoryID FK (Categories.CategoryID)
Shippers(ShipperID, ShipperName, Phone)
Suppliers(SupplierID, SupplierName, ContactName, Address, City, PostalCode, Country, Phone)
Nota
Traduzione dei termini:
Customers: clienti
Categories: categorie
Employees: impiegati
OrderDetails: dettagli ordine
Orders: ordini
Products: prodotti
Shippers: spedizionieri
Suppliers: fornitori
────══════♦☆♦══════────
Esercizio 1
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Selezionare il CustomerName di tutti i clienti di 'London'.
Effettuare il conteggio di tutti i clienti di 'London'.
Selezionare il CustomerName e il ContactName di tutti i clienti di 'London' o di 'Berlin".
────══════♦☆♦══════────
Esercizio 2
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Selezionare i record della tabella Orders relativi al cliente con CustomerID = 24.
Selezionare i record della tabella Orders con CustomerID = 24 e EmployeeID = 2.
Effettuare il conteggio dei record della tabella Orders.
────══════♦☆♦══════────
Esercizio 3
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Selezionare i prodotti con prezzo compreso tra 5 e 50 (estremi esclusi).
Selezionare il prezzo (price) massimo presente nella tabella Products.
Selezionare i clienti che abitano nella stessa nazione (Country) del fornitore con SupplierID=2.
────══════♦☆♦══════────
Esercizio 4
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Selezionare tutte le colonne presenti nella tabella Products in ordine di prezzo (dal più alto al più basso).
Selezionare il prezzo (price) medio presente nella tabella Products.
Selezionare i ProductId presenti negli tabella OrderDetails gestiti dall'impiegato con EmployeeID = 2.
────══════♦☆♦══════────
Esercizio 5
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Selezionare le prime 3 righe della tabella Shippers ordinate alfabeticamente su ShipperName (dalla A alla Z).
Selezionare dalla tabella Customers tutte le righe che hanno come Country "Germany" o "Mexico".
Selezionare dalla tabella Customers tutti i clienti (CustomerName) che vivono nella stessa Country di uno dei fornitori (Suppliers).
────══════♦☆♦══════────
Esercizio 6
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Determinare la quantià (Quantity) totale presente nella tabella OrderDetails relativa al prodotto con ProductName "Gnocchi di nonna Alice".
Elencare i nomi dei prodotti (ProductName) acquistati dal cliente con CustomerName "Blondel père et fils".
Determinare il prezzo (Price) del prodotto più costoso acquistato dal cliente con CustomerName "Blondel père et fils".
────══════♦☆♦══════────
Esercizio 7
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Determinare il nome dei prodotti (ProductName) acquistati dai clienti (Customers) residenti in "UK" (Country).
Determinare il nome dei prodotti (ProductName) che non sono stati acquistati dai clienti (Customers) residenti in "UK" (Country).
Determinare il prezzo (Price) e il nome del prodotto (ProductName) più costoso tra quelli non acquistati dai clienti (Customers) residenti in "UK" (Country).
────══════♦☆♦══════────
Esercizio 8
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Determinare il nome e il cognome degli impiegati (Employees) nati successivamente al 1 gennaio 1963.
Determinare gli ordini elaborati dall'impiegato Nancy Davolio.
Determinare il nome dei prodotti presenti negli ordini elaborati dall'impiegato Nancy Davolio.
────══════♦☆♦══════────
Esercizio 9
Insert
Scrivere nel linguaggio SQL i comando per effettuare le seguenti operazioni:
Inserire un nuovo impiegato caratterizzato da:
Cognome: Rossi
Nome: Mario
Data di nascita: 5 marzo 1981
Note: cittadinanza italiana
Inserire un nuovo ordine caratterizzato da:
CustomerID: 4
EmployeeID : 11
OrderDate: 5 marzo 2000
ShipperID: 7
────══════♦☆♦══════────
Esercizio 10
Insert
A partire dalla descrizione fornita, scrivere nel linguaggio SQL i comando per inserire un nuovo prodotto nella tabella Products.
Nome del prodotto: Provolone del Monaco
Categoria: latticini ( (Dairy Products)
Descrizione: formaggi (Cheeses)
Confezionamento: 24 - 200 g pkgs (Unit)
Prezzo: 12.5
Prodotto da: Formaggi Fortini s.r.l.
Nota:
Ricavare le chiavi esterne effettuando preventivamente delle query mirate.
────══════♦☆♦══════────
Esercizio 11
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Elencare i clienti (CustomerName) che hanno effettuato almeno un ordine contenente un prodotto della categoria (CategoryName) "Condiments".
Elencare i prodotti (ProductName) della categoria (CategoryName) "Condiments" presenti in almeno un ordine.
Individuare il prodotto (ProductName) della categoria "Condiments" con il prezzo unitario massimo (visualizzare il nome del prodotto e il prezzo).
────══════♦☆♦══════────
Esercizio 12
Scrivere nel linguaggio SQL i comando per effettuare le seguenti interrogazioni:
Determinare il cognome degli impiegati (LastName) che hanno elaborato almeno un ordine contenente un prodotto della categoria (CategoryName) "Condiments".
Determinare il cognome degli impiegati (LastName) che non hanno mai elaborato ordini contenenti un prodotto della categoria (CategoryName) "Condiments".
Sito: 7ecnologie
Sezione: 12. SQL
Capitolo: 98. Esercizi
Paragrafo: 01. Query
Indice dei capitoli: 00. Risorse - 01. Generalità - 02. Comandi di DML - 03. Comandi di DDL - 04. Comandi di DCL - 05. Comandi di TCL - 06. SQLite - 07. Tutorial - 98. Esercizi
Indice dei paragrafi: 01. Query - 02. Definizione di tabelle - 03. SQLite: database orders.db - 04. SQLite: database classi.db - 05. SQLite: database regioni.db - 06. SQLite: database musei.db - 07. SQLite: altri database