Query Biblioteca
Query Biblioteca
SELECT Nome
FROM Autori
WHERE Cognome = "Alighieri";
SELECT *
FROM Autori
WHERE Data_Nascita >= #1/1/1900#;
SELECT Titolo
FROM Libri
WHERE Numero_Pagine < 500;
5) Mostrare il nome e cognome degli utenti che abitano in Via delle rose, 21:
SELECT Titolo
FROM Libri
WHERE Genere = "Fantascienza" OR Genere = "Avventura";
SELECT Titolo
FROM Libri
WHERE Genere = "Avventura" AND Edizione = "Mondadori";
SELECT Titolo
FROM Libri
WHERE Genere = "Fantascienza" AND Edizione = "Mondadori" OR Numero_Pagine < 500;
SELECT Titolo
FROM Libri
WHERE Genere = "Avventura" AND Data_Pubblicazione >= #01/01/1900# AND
Data_Pubblicazione <= #01/01/1970#;
SELECT Titolo
FROM Libri
WHERE Genere = "Avventura" AND Data_Pubblicazione BETWEEN #01/01/1900# AND
#01/01/1970#;
10) Mostrare il nome ed il cognome degli utenti il cui cognome inizia con "Ro":
(query con operatore LIKE)
SELECT *
FROM Città
WHERE Provincia = "AN" OR Provincia = "MI";
SELECT *
FROM Città
WHERE Provincia IN ("AN", "MI");
12) Mostrare tutte le città che non sono in provincia di Ancona o di Milano:
SELECT *
FROM Città
WHERE NOT (Provincia = "AN" OR Provincia = "MI");
SELECT *
FROM Città
WHERE Provincia NOT IN ("AN", "MI");
13) Mostrare il nome, cognome e indirizzo degli utenti senza il numero di telefono:
14) Mostrare il nome, cognome e indirizzo degli utenti con il numero di telefono:
15) Mostrare i titoli dei libri di genere avventura della Mondadori e che sono
collocati
in posizione che inizia con "P":
SELECT Titolo
FROM Libri
WHERE Genere = "Avventura" AND Edizione = "Mondadori" AND Collocazione LIKE "P*";
--------------------------------------------------------------------------------
Prodotto cartesiano e join:
SELECT *
FROM Città, Utenti;
17) Mostrare il nome e cognome degli utenti di Roma (Join tra Città e Utenti):
18) Mostrare i titoli dei libri presi dal Sig. Ernesto Verdi:
SELECT Titolo
FROM Libri, Prestiti, Utenti
WHERE ID_Libro = Cod_Libro AND Cod_Utente = ID_Utente AND
Nome = "Ernesto" AND Cognome = "Verdi";
SELECT Libri.*
FROM Autori, Libri
WHERE ID_Autore = Cod_Autore AND Nome = "Ernest" AND Cognome = "Hemingway";
20) Mostrare il nome, cognome e indirizzo degli utenti di Milano che hanno preso
libri di
Torquato Tasso:
SELECT Utenti.*
FROM Utenti, Città
WHERE CAP = Cod_Città AND Telefono IS NOT NULL AND Città.Nome = "Bologna";
-----------------------------------------------------------------------------------
----
Funzioni di aggregazione: Count(), MIN(), MAX(), AVG(), SUM()
ed uso degli Alias
SELECT MAX(Numero_Pagine)
FROM Libri;
SELECT MIN(Numero_Pagine)
FROM Libri
WHERE Genere = "Avventura" OR Genere = "Fantascienza";
26) Query con ERRORE!!: Contare gli utenti di Bologna, rinominando opportunamente
l'intestazione del risultato, mostrare anche il nome degli utenti:
ERRORE: non si possono mettere nella target list funzioni di aggregazione con
singoli
campi di tabelle, a meno che tali campi non siano specificati in una clausola GROUP
BY.
27) Mostrare la media ed il massimo dei numeri di pagine dei libri di genere Poema:
Group By e Having:
28) Contare gli utenti per ogni città, mostrando il nome delle città e rinominando
opportunamente i nomi delle colonne risultato:
29) Contare gli utenti per ogni città, mostrando il nome delle città, e mostrando
solo i conteggi superiori o uguali a 2:
30) Mostrare la somma dei numeri di pagine scritte da ogni autore, rinominando la
somma e mostrando il nome e cognome degli autori:
30_bis) Mostrare la somma dei numeri di pagine scritte da ogni autore, rinominando
la somma e mostrando il nome e cognome
degli autori e mostrando i risultati in ordine decrescente per somma:
30_ter) Mostrare la somma dei numeri di pagine scritte da ogni autore, rinominando
la somma e mostrando il nome e cognome
degli autori e mostrando i risultati in ordine alfabetico per cognome:
31) Mostrare il conteggio maggiore o uguale a 10 degli utenti per ogni città, che
abbiano preso libri di genere giallo. Occorre mostrare
anche il nome delle città ordinate alfabeticamente: