Esercizi SQL. Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto



Documenti analoghi
Data la seguente tabella :

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Data management a.a Il linguaggio SQL

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

CAPITOLO 4 ESERCIZI SU SQL

MEZZI CodM Tipo Targa AnnoI Assicurato

Istruzioni DML di SQL

DBMS (Data Base Management System)

Il numero di studentesse

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

MAX, SUM, AVG, COUNT)

Interrogazioni complesse. SQL avanzato 1

Informatica per le discipline umanistiche 2 lezione 10

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

(a) Trovare le informazioni dei viaggi di durata inferiore ai 15 giorni select * from Viaggio where Durata <15

Corso di Basi di Dati

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Basi Di Dati, 09/12/2003

SQL (STRUCTURED QUERY LANGUAGE)

Modello concettuale dei dati. Paolo Brunasti - UniMiB 1 / 12

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

SQL - Funzioni di gruppo

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

SQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Structured Query Language parte 1

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Esercitazione su SQL

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Nome: Cognome: Matricola:

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

1 Database universitario 1.1 Elenco tabelle PERSONA (ID, is_studente, is_docente, nome, cognome) STUDENTE (matricola, persona references persona(id))

SQL/OLAP. Estensioni OLAP in SQL

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Vogliamo creare una anagrafe e poi creare delle query che rispondono a delle domandi. Utilizzando Microsoft Access


Basi di Dati Corso di Laura in Informatica Umanistica

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Prova Scritta di Basi di Dati

Prova scritta. Mercoledì 23 Luglio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Esercizi di SQL 1- SELEZIONI SEMPLICI 1 2- SELEZIONI CON PROIEZIONI 1 3- FUNZIONI DI INSIEME 2 4- FUNZIONI DI AGGREGAZIONE 2 5- HAVING 3

Esercitazione SQL. Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica

Operazioni sui database

Dati relazionali e XML

Le Basi di Dati. Le Basi di Dati

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

Gli operatori relazionali

Definizione di domini

Corso di Laboratorio di Basi di Dati

Basi di Dati e Sistemi Informativi. SQL come linguaggio di manipolazione dei dati

SQL: definizione schema

Esercizio 4.1. Soluzione:

1) Semplicissimi esercizi introduttivi

Prova scritta. Mercoledì 11 Febbraio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa p.1/172

Laboratorio di Tecnologie Web Laurea in Scienze e Tecnologie Multimediali

Alessandra Raffaetà. Esercizio

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Tipi MULTISET: accesso

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

DATA BASE MANAGEMENT SYSTEM

TOP DOWN. Compiti in classe proposti Modulo 1 JUVENILIA SCUOLA. Iacobelli Ajme Marrone

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

1. Per ogni film in cui appaiono solo attori nati prima del 1970 restituire il titolo del film.

Prova scritta. Giovedì 02 Ottobre Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Sistemi per la gestione di database: MySQL ( )

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Data Warehousing (DW)

SQL. Alcune note sulla definizione dei dati

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

IL DAT A B A S E DI ALGE B R A N D O

Eserciziario SQL. Costantino, Luca, Santoro, Marchese. 29 aprile Utilizzando le relazioni Comune e Terremoto, risolvete le seguenti query SQL

Basi di dati Appello del Compito A

Soluzioni 1.1. SELECT cognome FROM dipendenti; 1.2. SELECT nome FROM dipendenti; 1.3. SELECT cognome, nome FROM dipendenti; 1.4

Lezione V. Aula Multimediale - sabato 29/03/2008

Esercizi di SQL. 3) cognome e nome dei clienti che abitano a Rimini e guadagnano più di 3000;

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

Il linguaggio SQL. ing. Alfredo Cozzi 1

Transcript:

Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto Studenti data matricola nomeesame voto 12/09/2005 78 Analisi 30 23/12/2004 8 Statistica 18 23/06/2004 8 Ragioneria 28 2/03/2005 45 Statistica 27 23/07/2004 8 Diritto 23 08/03/2005 45 Matematica 25 Voti matricola Nome Cognome 78 Paolino Spiedo 45 Roberto Rossi 8 Bice Verdi mostrare il risultato della seguente istruzione SQL: SELECT nomeesame, voto FROM Voti, Studenti WHERE Voti.matricola = Studenti.matricola AND Cognome= Verdi ;

Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto Studenti data matricola nomeesame voto 12/09/2005 78 Analisi 30 23/12/2004 8 Statistica 18 23/06/2004 8 Ragioneria 28 2/03/2005 45 Statistica 27 23/07/2004 8 Diritto 23 08/03/2005 45 Matematica 25 Voti matricola Nome Cognome 78 Paolino Spiedo 45 Roberto Rossi 8 Bice Verdi mostrare il risultato della seguente istruzione SQL: SELECT nomeesame, voto FROM Voti, Studenti WHERE Voti.matricola = Studenti.matricola AND Cognome= Verdi ; nomeesame voto Diritto 23 Ragioneria 28 Statistica 18

Date le due tabelle scrivere la query SQL che stampa la media dei voti degli studenti con cognome che inizia con la lettera R. Studenti data matricola nomeesame voto 12/09/2005 78 Analisi 30 23/12/2004 8 Statistica 18 23/06/2004 8 Ragioneria 28 2/03/2005 45 Statistica 27 23/07/2004 8 Diritto 23 08/03/2005 45 Matematica 25 Voti matricola Nome Cognome 78 Paolino Spiedo 45 Roberto Rossi 8 Bice Verdi

Date le due tabelle scrivere la query SQL che stampa la media dei voti degli studenti con cognome che inizia con la lettera R. Studenti data matricola nomeesame voto 12/09/2005 78 Analisi 30 23/12/2004 8 Statistica 18 23/06/2004 8 Ragioneria 28 2/03/2005 45 Statistica 27 23/07/2004 8 Diritto 23 08/03/2005 45 Matematica 25 Voti matricola Nome Cognome 78 Paolino Spiedo 45 Roberto Rossi 8 Bice Verdi SELECT AVG(voto) AS Media FROM Studenti,Voti WHERE Voti.matricola = Studenti.matricola and Cognome LIKE R%

Dato il seguente schema di una base di dati prodotti Codice Nome Produttore A1 Laptop Dell A2 Palmtop HP A3 Desktop IBM prezzi codice data prezzo A1 12/03/2004 1200.00 A2 20/04/2004 400.00 A2 28/09/2004 500.00 A2 30/09/2004 300.00 A3 15/07/2004 1000.00 A3 29/09/2004 950.0 Mostrare il risultato della seguente istruzione SQL SELECT Nome FROM prodotti, prezzi WHERE prezzo < 400

Dato il seguente schema di una base di dati prodotti Codice Nome Produttore A1 Laptop Dell A2 Palmtop HP A3 Desktop IBM prezzi codice data prezzo A1 12/03/2004 1200.00 A2 20/04/2004 400.00 A2 28/09/2004 500.00 A2 30/09/2004 300.00 A3 15/07/2004 1000.00 A3 29/09/2004 950.0 Mostrare il risultato della seguente istruzione SQL SELECT Nome FROM prodotti, prezzi WHERE prezzo < 400 Laptop Palmtop Desktop

Dato lo schema di base di dati prodotti(codice, Nome, Produttore, prezzo) formulare un interrogazione SQL che conta quante tuple hanno un prezzo superiore a 200.

Dato lo schema di base di dati prodotti(codice, Nome, Produttore, prezzo) formulare un interrogazione SQL che conta quante tuple hanno un prezzo superiore a 200. SELECT count(*) FROM prodotti WHERE prezzo > 200;

Dato il seguente schema di una base di dati movimenti nomearticolo data quantita pasta 12/05/2004 200 formaggio 16/12/2004-500 frutta 17/03/2004 70 dolce 31/12/2004 3000 carne 24/12/2004-400 Visualizzare nomearticolo, quantità e quantità incrementata del 5%

Dato il seguente schema di una base di dati movimenti nomearticolo data quantita pasta 12/05/2004 200 formaggio 16/12/2004-500 frutta 17/03/2004 70 dolce 31/12/2004 3000 carne 24/12/2004-400 Visualizzare nomearticolo, quantità e quantità incrementata del 5% SELECT nomearticolo, quantita, quantita*1,05 AS riordino FROM movimenti

Dato il seguente schema di una base di dati movimenti nomearticolo data quantita pasta 12/05/2004 200 formaggio 16/12/2004-500 frutta 17/03/2004 70 dolce 31/12/2004 3000 carne 24/12/2004-400 Mostrare il risultato della seguente istruzione SQL DELETE FROM movimenti WHERE quantita = (SELECT MAX(quantità) FROM movimenti)

Dato il seguente schema di una base di dati nomearticolo data quantita pasta 12/05/2004 200 formaggio 16/12/2004-500 frutta 17/03/2004 70 dolce 31/12/2004 3000 carne 24/12/2004-400 Mostrare il risultato della seguente istruzione SQL DELETE FROM movimenti WHERE quantita = (SELECT MAX(quantità) FROM movimenti)

Dato il seguente schema di una base di dati nomearticolo data quantita pasta 12/05/2004 200 formaggio 16/12/2004-500 frutta 17/03/2004 70 dolce 31/12/2004 3000 carne 24/12/2004-400 Mostrare il risultato della seguente istruzione SQL DELETE FROM movimenti WHERE quantita = (SELECT MAX(quantità) FROM movimenti) cancella la tupla dove nomearticolo= dolce

Dato il seguente schema di una base di dati nomearticolo data quantita pasta 12/05/2004 200 formaggio 16/12/2004-500 frutta 17/03/2004 70 dolce 31/12/2004 3000 carne 24/12/2004-400 Mostrare il risultato della seguente istruzione SQL DELETE FROM movimenti WHERE quantita = (SELECT MAX(quantità) FROM movimenti) cancella la tupla dove nomearticolo= dolce

Dato lo schema di relazione Veicolo(Targa, data, percorrenza) formulare un interrogazione SQL per visualizzare il totale percorrenza nell anno 2010

Dato lo schema di relazione Veicolo(Targa, data, percorrenza) formulare un interrogazione SQL per visualizzare il totale percorrenza nell anno 2010 SELECT SUM(percorrenza) FROM Veicolo WHERE data BETWEEN #01/01/2010# AND #31/12/2010#

Dato il seguente schema di una base di dati Veicolo Targa Produttore Modello annoimmatricolazione TU786GH Honda Accord 2002 XZ543CV Toyota Corolla 2002 AS345GH Fiat Palio 1999 TR213SA Alfa Romeo 147 2004 Mostrare il risultato della seguente istruzione SQL SELECT Targa FROM Veicolo WHERE Modello LIKE %a

Dato il seguente schema di una base di dati Veicolo Targa Produttore Modello annoimmatricolazione TU786GH Honda Accord 2002 XZ543CV Toyota Corolla 2002 AS345GH Fiat Palio 1999 TR213SA Alfa Romeo 147 2004 Mostrare il risultato della seguente istruzione SQL SELECT Targa FROM Veicolo WHERE Modello LIKE %a XZ543CV

Dato il seguente schema di una base di dati movimenti codicearticolo Descrizione prezzo 1 Pane 2 2 Pelati 0.50 3 Scarpe 70 4 Vino 4 5 Farina 0.60 6 Uova 3 Mostrare il risultato della seguente istruzione SQL UPDATE movimenti SET prezzo = prezzo + 1 WHERE codicearticolo BETWEEN 2 AND 4

Dato il seguente schema di una base di dati Articoli codicearticolo Descrizione prezzo 1 Pane 2 2 Pelati 0.50 3 Scarpe 70 4 Vino 4 5 Farina 0.60 6 Uova 3 Mostrare il risultato della seguente istruzione SQL UPDATE movimenti SET prezzo = prezzo + 1 WHERE codicearticolo BETWEEN 2 AND 4 Si incrementano di 1 i prezzi di pelati,scarpe,vino

Dato lo schema di relazione articoli(codicearticolo, descrizione, prezzo) formulare un interrogazione SQL per visualizzare le tuple della relazione articoli il cui campo prezzo contiene il valore massimo.

Dato lo schema di relazione articoli(codicearticolo, descrizione, prezzo) formulare un interrogazione SQL per visualizzare le tuple della relazione articoli il cui campo prezzo contiene il valore massimo. SELECT * FROM articoli WHERE prezzo = ( SELECT max(prezzo) FROM articoli)

Dati i seguenti schemi di relazione articoli(codice, descrizione, prezzo) fornitori(codice, descrizione, indirizzo) spiegare perché la seguente interrogazione contiene degli errori. SELECT codice, prezzo FROM articoli, fornitori WHERE descrizione = pasta

Dati i seguenti schemi di relazione articoli(codice, descrizione, prezzo) fornitori(codice, descrizione, indirizzo) spiegare perché la seguente interrogazione contiene degli errori. SELECT codice, prezzo FROM articoli, fornitori WHERE descrizione = pasta Perché codice e descrizione sono nomi attributi che compaiono in entrambe le relazioni nella clausola FROM.

Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto Nomi Codice Nome Cognome Eta 1 Maria Rossi 80 2 Franco Mar 25 3 Giuseppe Conti 40 mostrare il risultato della seguente istruzione SQL Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90 SELECT Nome, Cognome FROM Nomi, Versamenti WHERE Nomi.codice = Versamenti.codice AND Importo between 90 AND 100

Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto Nomi Codice Nome Cognome Eta 1 Maria Rossi 80 2 Franco Mar 25 3 Giuseppe Conti 40 mostrare il risultato della seguente istruzione SQL Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90 SELECT Nome, Cognome FROM Nomi, Versamenti WHERE Nomi.codice = Versamenti.codice AND Importo between 90 AND 100 Maria Nome Giuseppe Cognome Rossi Conti

Date le due tabelle precedenti scrivere la query SQL che per valore di Nome Cognome stampa il totale dei versamenti effettuati fra il 2000 ed il 2005 Nomi Codice Nome Cognome Eta 1 Maria Rossi 80 2 Franco Mar 25 3 Giuseppe Conti 40 Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90 mostrare il risultato della seguente istruzione SQL SELECT Nome, Cognome FROM Nomi, Versamenti WHERE Nomi.codice = Versamenti.codice AND Data between 1/01/2003 AND 31/12/2004

Date le due tabelle precedenti scrivere la query SQL che per valore di Nome Cognome stampa il totale dei versamenti effettuati fra il 2000 ed il 2005 Nomi Codice Nome Cognome Eta 1 Maria Rossi 80 2 Franco Mar 25 3 Giuseppe Conti 40 Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90 mostrare il risultato della seguente istruzione SQL SELECT Nome, Cognome Nome Cognome FROM Nomi, Versamenti Maria Rossi WHERE Nomi.codice = Versamenti.codice Franco Mar AND Data between 1/01/2003 AND 31/12/2004

Scrivere la query che permette di inserire la seguente tupla in Versamenti: (3, 12/04/2005, 100) Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90

Scrivere la query che permette di inserire la seguente tupla in Versamenti: (3, 12/04/2005, 100) INSERT INTO Versamenti VALUES (3,'2005/04/12',100) Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90

Scrivere la query che aumenta del 10% tutti i versamenti. Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90

Scrivere la query che aumenta del 10% tutti i versamenti. Versamenti Codice Data Importo 1 12/08/1980 100 1 24/09/2004 200 2 12/9/2000 10 2 12/6/2003 30 2 12/5/1999 80 3 14/6/2005 90 UPDATE Versamenti SET Importo = Importo *1.1

Sia data la seguente istanza di base di dati composta da due relazioni: Anagrafica Cognome Nome DataNascita id Rossi Paolo 13/12/1985 1 Verdi Francesca 01/01/1960 2 Gialli Annamaria 16/04/1970 3 Tebaldi Pancrazio 16/04/1950 4 indicare il risultato prodotto dalle seguente interrogazione: SELECT Cognome, Nome FROM Anagrafica,Impieghi WHERE datalicenziamento= 20/08/1999 AND datanascita <= 01/01/1960 Impieghi idut dataassunzione datalicenziamento 1 14/04/2003 17/12/2005 2 16/05/1980 20/08/1999 2 20/04/2000 17/12/2005 3 12/05/1990 26/11/2005 4 15/04/1968 15/06/1980 4 20/06/1980 14/09/2000 4 20/09/2000 17/12/2005 2 10/10/1974 14/04/1980

Sia data la seguente istanza di base di dati composta da due relazioni: Anagrafica Cognome Nome DataNascita id Rossi Paolo 13/12/1985 1 Verdi Francesca 01/01/1960 2 Gialli Annamaria 16/04/1970 3 Tebaldi Pancrazio 16/04/1950 4 indicare il risultato prodotto dalle seguente interrogazione: SELECT Cognome, Nome FROM Anagrafica,Impieghi WHERE datalicenziamento= 20/08/1999 AND datanascita <= 01/01/1960 Impieghi idut dataassunzione datalicenziamento 1 14/04/2003 17/12/2005 2 16/05/1980 20/08/1999 2 20/04/2000 17/12/2005 3 12/05/1990 26/11/2005 4 15/04/1968 15/06/1980 4 20/06/1980 14/09/2000 4 20/09/2000 17/12/2005 2 10/10/1974 14/04/1980 Tebaldi Pancrazio Verdi Francesca

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che guadagnano più della media;

ESEMPI DI SOLUZIONI CON UTILIZZO DI SUBQUERIES

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che guadagnano più della media; A:SELECT AVG(salario) FROM clienti; B:SELECT * FROM clienti WHERE salario > A; SELECT * FROM clienti WHERE salario > (SELECT AVG(salario)FROM clienti);

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi cognome nome e salario dei clienti che abitano in città che contengono almeno 2 clienti;

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi cognome nome e salario dei clienti che abitano in città che contengono almeno 2 clienti; A:SELECT citta FROM clienti GROUP BY citta HAVING COUNT(*) >= 2; B:SELECT cognome, nome FROM clienti WHERE citta IN A; SELECT cognome, nome FROM clienti WHERE citta IN (SELECT citta FROM clienti GROUP BY citta HAVING COUNT(*) >= 2);

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che abitano nelle città in cui l età media è inferiore all età media di tutta la tabella;

Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che abitano nelle città in cui l età media è inferiore all età media di tutta la tabella; A: SELECT AVG(eta) FROM clienti; B: SELECT citta FROM clienti GROUP BY citta HAVING AVG(eta) <A; C: SELECT * FROM clienti WHERE citta IN B; SELECT * FROM clienti WHERE citta IN (SELECT citta FROM clienti GROUP BY citta HAVING AVG(eta) <(SELECT AVG(eta) FROM clienti));

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che hanno versato un acconto superiore alla media.

Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che hanno versato un acconto superiore alla media. A:SELECT AVG (acconto) FROM prenot; B:SELECT cod_cli FROM prenot WHERE acconto > A; C:SELECT * FROM clienti WHERE codice IN B; SELECT * FROM clienti WHERE cod_cli IN (SELECT cod_cli FROM prenot WHERE acconto > (SELECT AVG(acconto)FROM prenot));

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che hanno almeno 30 anni e che hanno una prenotazione per la camera 25 o per la camera 18;

Dato il seguente schema di database Clienti (Cod_cli,Cognome, Nome, Citta, Salario, Eta) Prenot (Cod_cli, Cod_alb, Camera, Giorni, Acconto) Alberghi (Cod_alb, Nome, Citta) Scrivere una query SQL che visualizzi tutti i dati dei clienti che hanno almeno 30 anni e che hanno una prenotazione per la camera 25 o per la camera 18; A:SELECT cod_cli FROM prenot WHERE camera= 25 OR camera= 18 ; B:SELECT * FROM clienti WHERE codice IN A AND eta>=30; SELECT * FROM clienti WHERE eta >= 30 AND cod_cli IN (SELECT cod_cli FROM prenot WHERE camera="25" OR camera="18");

QUERY DI RAGGRUPPAMENTO (GROUP BY)

RIVISTA (CodR, NomeR, Editore) ARTICOLO (CodA, Titolo, Argomento, CodR) Selezionare il nome delle riviste che hanno pubblicato almeno due articoli di motociclismo.

RIVISTA (CodR, NomeR, Editore) ARTICOLO (CodA, Titolo, Argomento, CodR) Selezionare il nome delle riviste che hanno pubblicato almeno due articoli di motociclismo. SELECT NomeR FROM RIVISTA, ARTICOLO WHERE RIVISTA.CodR=ARTICOLO.CodR AND Argomento= motociclismo GROUP BY RIVISTA.CodR, NomeR (perché è necessario sia incluso?) HAVING COUNT(*)>1

RIVISTA (CodR, NomeR, Editore) ARTICOLO (CodA, Titolo, Argomento, CodR) Selezionare il codice e il nome delle riviste che hanno pubblicato un articolo, ed uno solo, di motociclismo (possono aver scritto quanti articoli desiderano relativamente ad altri argomenti).

RIVISTA (CodR, NomeR, Editore) ARTICOLO (CodA, Titolo, Argomento, CodR) Selezionare il codice e il nome delle riviste che hanno pubblicato un articolo, ed uno solo, di motociclismo (possono aver scritto quanti articoli desiderano relativamente ad altri argomenti). SELECT RIVISTA.CodR, NomeR FROM RIVISTA, ARTICOLO WHERE RIVISTA.CodR=ARTICOLO.CodR AND Argomento= motociclismo GROUP BY RIVISTA.CodR, NomeR HAVING COUNT(*)=1

RIVISTA (CodR, NomeR, Editore) ARTICOLO (CodA, Titolo, Argomento, CodR) Selezionare il nome delle riviste che hanno pubblicato un numero di articoli di motociclimo compreso tra 10 e 25.

RIVISTA (CodR, NomeR, Editore) ARTICOLO (CodA, Titolo, Argomento, CodR) Selezionare il nome delle riviste che hanno pubblicato un numero di articoli di motociclimo compreso tra 10 e 25. SELECT NomeR FROM RIVISTA, ARTICOLO WHERE RIVISTA.CodR=ARTICOLO.CodR AND Argomento= motociclismo GROUP BY RIVISTA.CodR, NomeR HAVING COUNT(*)>=10 AND COUNT(*)<=25;