Eprogram ITIS V anno Unità 4 - Il linguaggio SQL

Documenti analoghi
Linguaggio SQL seconda parte

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Esempi SQL con Access. Orazio Battaglia

SQL - Sottointerrogazioni

Caratteristiche dei linguaggi per Database

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

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

Tipi di sottoquery SQL

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

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

<Nome Tabella>.<attributo>

Interrogazioni nidificate

SQL: definizione schema

Basi di Dati: Corso di laboratorio

Istruzioni DML di SQL

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni

Viene richiesto di MIN CARD(S,E) = 1 UPDATE DELETE MAX CARD(S,E) = 3 INSERT UPDATE

Basi di Dati. S Q L Lezione 2

Interrogare una base di dati: Algebra relazionale e SQL. Alessandro Bardine Alessandro Ciaramella Vincenzo Galella Rudy Manganelli

ACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio

Basi di Dati. Esercitazione 2: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL

Il linguaggio SQL: viste e tabelle derivate

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

Interrogazioni nidificate

SQL (STRUCTURED QUERY LANGUAGE)

Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005

SQL Laboratorio di Basi di Dati a.a. 2002/2003

Il linguaggio SQL: query innestate

Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf

Query in Access. Criteri, Valori Univoci, Operatori e Colonna Calcolata. Query (Interrogazione)

Basi di Dati. Esercitazione 3: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL

Esempio di database relazionale con l utilizzo del prodotto MySQL

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio

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

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

SQL Avanzato. Interrogazioni e il valore NULL. Interrogazioni complesse, trigger, viste e modifiche dello schema. Giorgio Giacinto 2015

Basi di dati I Prova di autovalutazione 30 ottobre 2014

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

Basi di Dati Corso di Laura in Informatica Umanistica

Interrogazioni complesse. SQL avanzato 1

Basi di Dati: Corso di laboratorio

Data warehouse in Oracle

Eprogram ITIS V anno Unità 6 - PHP e MySQL

SQL - Funzioni di gruppo

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Esercitazione: Interrogazioni SQL

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

SQL: DDL, VI, Aggiornamenti e Viste

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

MAX, SUM, AVG, COUNT)

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

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 su SQL

ESERCIZI SQL. Esercizio 1

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna laura sicuro rimini 1984 esami codice

Corso di Laboratorio di Basi di Dati

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

Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente. Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44

DATABASE CLIENTIRAPPRESENTANTI

UTENTE (Codice, Nome, Cognome, Indirizzo, Telefono) PRESTITO (Collocazione, CodUtente, DataPrestito, DataRest)

Corso di Informatica - prova scritta del 12/02/2008

Indice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language)

Data management a.a Il linguaggio SQL

Viste materializzate in Oracle e SQL esteso. Sistemi di gestione di basi di dati. Tania Cerquitelli e Paolo Garza 1.

Il linguaggio SQL: query innestate

SQL Laboratorio di Basi di Dati a.a. 2002/2003

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

CONCETTO DI ANNIDAMENTO

Corso di Basi di Dati

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

OR true null false true true true true null true null null false true null false NOT

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati. S Q L Lezione 4

SELECT FROM ORDER BY SELECT FROM ORDER BY DESC DESC SELECT FROM ORDER BY DESC DESC SELECT FROM WHERE SELECT FROM WHERE AND SELECT FROM WHERE AND

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Sommario. Introduzione... 13

CAPITOLO 4 ESERCIZI SU SQL

Elena Baralis 2007 Politecnico di Torino 1

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

Prova Scritta di Basi di Dati

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

Il linguaggio SQL e Access

Il linguaggio SQL: viste e tabelle derivate. DB di riferimento per gli esempi

SQL e algebra relazionale

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

1. DML RICORDIAMO. Contenuti: 2.1. Le principali operazioni su relazioni utilizzate nel DML

LEFT JOIN - RIGHT JOIN - SELF JOIN - CROSS JOIN

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM : SQL ISO 9075:1992 SQL:1999 SQL:2003

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF.

PROGRAMMA DI CLASSE 5AI

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

Le interrogazioni annidate

Corso di INFORMATICA

Il linguaggio SQL: le viste

Il linguaggio SQL. ing. Alfredo Cozzi 1

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

Transcript:

Eprogram ITIS V anno Unità 4 - Il linguaggio SQL Compito in classe proposto Date le seguenti tabelle: scrivi in SQL le seguenti richieste (per facilitare query complesse utilizza le viste): 1. elencare in ordine alfabetico i paesi con il loro numero di abitanti e la loro superficie 2. elencare i continenti e il numero di nazioni che li compongono 3. visualizzare la densità di popolazione per tutti i paesi dell'europa 4. visualizzare il nome della nazione più popolosa 5. visualizzare il nome della nazione più popolosa del continente Asia 6. elencare i continenti con il loro numero di abitanti e la loro superficie 7. elencare il nome delle nazioni che hanno estensione maggiore di quella francese

Unità 4 - Il linguaggio SQL 8. per ogni continente mostrare il numero di paesi con almeno 10 milioni di abitanti 9. incrementare di 1000 unità la popolazione di India, Cina, Giappone, Pakistan 10. stampare il numero di Km 2 incolti in Italia 11. visualizzare l'estensione in Km 2 per ciascuna coltivazione 12. visualizzare il nome della coltivazione che occupa il territorio più vasto in Italia 13. visualizzare il nome delle coltivazioni presenti nel continente Asia che si estendono su un territorio > 200 Km 2 14. elencare il nome delle coltivazioni non più coltivate 15. elencare il nome delle coltivazioni che non sono presenti in Italia

Soluzione compito in classe proposto Soluzione compito in classe proposto Sviluppa la soluzione procedendo per punti. 1. È sufficiente utilizzare la tabella Nazioni e visualizzare tutte le righe dopo averle ordinate usando la funzione ORDER BY SELECT Nome, NumAb, Kmq ORDER BY Nome 2. È necessario calcolare il numero di nazioni per ciascun continente usando la funzione GROUP BY SELECT COUNT(*), Continente GROUP BY Continente 3. La densità della popolazione è data dal rapporto fra il numero di abitanti della nazione e la sua superficie. Dalla tabella nazioni sono estratte solo le righe relative a nazioni europee Select NumAb/Km FROM NAZIONI Where continente = 'Europa' 4. Ottiene il nome della nazione più popolosa con due query annidate: la subquery restituisce il numero di abitanti massimo, la query esterna estrae il nome delle nazioni con numero abitanti uguale al massimo appena determinato. SELECT Nome WHERE NumAb = (SELECT MAX(NumAb) )

Unità 4 - Il linguaggio SQL 5. Risolvi questo quesito mediante due query annidate: la subquery restituisce il numero di abitanti massimo per il continente asiatico, la query esterna estrae, tra le nazioni asiatiche, il nome di quelle con numero abitanti uguale al massimo appena determinato SELECT nome FROM NAZIONI WHERE NumAb = ( select max(numab) from nazioni where nazioni.continente = "Asia") and continente = "Asia" 6. Devi determinare la somma degli abitanti e la somma dei Kmq per ciascun continente usando la funzione GROUP BY. SELECT Continente, SUM (NumAb), SUM (Km) GROUP BY Continente 7. Risolvi questo quesito mediante due query annidate: la subquery restituisce il numero di kmq della Francia, la query esterna estrae il nome delle nazioni con estensione maggiore di quella appena determinata SELECT Nome Where Km > (SELECT Km from Nazioni WHERE Nome ='Francia') 8. Devi determinare il numero di paesi per ogni continente usando la funzione GROUP BY. Vengono presi in considerazione solo i paesi che hanno più di 10 milioni di abitanti (clausola WHERE). SELECT COUNT(Nome), Continente WHERE NumAb > 100000 GROUP BY Continente;

Soluzione compito in classe proposto 9. Utilizza il comando UPDATE per modificare le righe della tabella. Prendi in considerazione le nazioni il cui nome è presente nell elenco (India, Cina, Giappone, Pakistan) UPDATE Nazioni SET NumAb = NumAb + 1000 WHERE nome IN ( 'India','Cina','Giappone','Pakistan') 10. Puoi determinare il numero di Km 2 incolti in Italia calcolando dapprima, tramite la vista V_Italia, il numero di Km 2 coltivati per l Italia e successivamente calcoli la differenza tra il numero di Km 2 dell Italia e il valore determinato nella vista. CREATE VIEW V_Italia AS SELECT Sum(km) AS Coltivati INTO Tab1 WHERE Nome = "Italia"; SELECT (Nazioni.Km - Tab1.Coltivati) as Incolti FROM V_Italia, Nazioni where Nome = "Italia" 11. Devi prelevare i dati dalla tabella Coltivare e, per determinare la somma dei kmq coltivati per ciascuna coltivazione, devi usare la funzione GROUP BY. Per visualizzare anche il nome della coltivazione esegui un operazione di JOIN fra le tabelle Tipo e Coltivazione SELECT Sum(Kmq), Coltivazione, Tipo where Coltivare.Cod_Colt = Tipo.Id_Colt GROUP BY Coltivazione; oppure: SELECT Sum(Kmq), Coltivazione Inner Join Tipo ON Coltivare.Cod_Colt = Tipo.Id_Colt GROUP BY Coltivazione;

Unità 4 - Il linguaggio SQL 12. Risolvi questa query utilizzando le query annidate: con la query interna determini l estensione in Kmq della coltivazione più estesa in Italia,con quella esterna estrai il nome della coltivazione che in Italia si estende per una superficie uguale alla superficie determinata nella subquery SELECT Coltivazione FROM Tipo,coltivare WHERE Coltivare.Cod_colt = Tipo.Id_Colt AND Kmq = (SELECT Max(Kmq) WHERE nome = 'Italia') and nome = 'Italia'; oppure: SELECT Coltivazione FROM Tipo INNER JOIN Coltivare ON Coltivare.Cod_colt = Tipo.Id_Colt WHERE Kmq = (SELECT Max(Kmq) WHERE nome = 'Italia') and nome = 'Italia' 13. Devi prelevare i dati dalla tabella Coltivare e per determinare la somma dei kmq coltivati per ciascuna coltivazione asiatica devi raggrupparli per coltivazione. Di questi raggruppamenti prendi in considerazione solo quelli che hanno una superficie maggiore a 200 Km 2 Per visualizzare anche il nome della coltivazione esegui un operazione di JOIN fra le tabelle Tipo e Coltivazione SELECT Coltivazione, Sum(Kmq) FROM Tipo, Coltivare, Nazioni Where coltivare.nome = Nazioni.Nome AND COLTIVARE.Cod_Colt = Tipo.Id_Colt AND Continente = "Asia" GROUP By coltivazione HAVING Sum(Kmq) > 200

Soluzione compito in classe proposto 14. Risolvi questa query si utilizzando un operazione di LEFT JOIN tra le tabelle Tipo e Coltivare. Po,i per considerare solo le righe del risultato che sono presenti nella tabella Tipo ma non nella tabella Coltivare dovrai considerare le righe che presentano un valore nullo nel campo Kmq SELECT Coltivazione, Kmq FROM Tipo LEFT JOIN Coltivare ON Tipo.Id_colt = Coltivare.Cod_colt WHERE Kmq IS NULL; 15. Risolve questa query utilizzando le query annidate: nella query interna determini il nome delle coltivazioni presenti in Italia, in quella esterna estrai il nome delle coltivazioni che non sono presenti nell insieme di nomi determinato nella subquer.y SELECT Coltivazione FROM TIPO WHERE Id_Colt NOT IN (SELECT Cod_Colt WHERE nome = 'Italia')