SQL Esercizi DML Blocco 1
|
|
|
- Annalisa Serafini
- 7 anni fa
- Просмотров:
Транскрипт
1 SQL Esercizi DML Blocco 1 Si consideri il seguente schema di base di dati che vuole tenere traccia di alcune informazioni riguardanti gli studenti di un'università. Studenti(Matricola, NomeS, CognomeS, CittàRes, Sesso, NumTelefono) Corsi(CodCorso, NomeC, NumCrediti, MatricolaDocente) Esami(Matricola, CodCorso, Voto) Docenti(MatricolaD, NomeD, CognomeD, DipartimentoDiAfferenza, Stipendio) La tabella Esami contiene l'elenco di esami superati dagli studenti. Esercizi 1) Trovare le informazioni su tutti gli studenti presenti nella tabella Studenti a. select Matricola, NomeS, CognomeS, CittàRes, Sesso, NumTelefono Alternativa b. select * 2) Trovare la matricola e la città di residenza di tutti gli studenti presenti nella base di dati a. select Matricola, CittàRes 3) Trovare le città in cui risiede almeno uno studente a. /* Con questa prima soluzione non vengono eliminate le città duplicate/ripetute */ select CittàRes Alternativa b. /* Con questa seconda soluzione vengono eliminate le città duplicate/ripetute grazie alla presenza della parola chiave DISTINCT */ select DISTINCT CittàRes 4) Trovare matricola e stipendio mensile per ogni docente (si supponga che l'attributo Stipendio della tabella Docenti contenga lo stipendio annuo e che lo stipendio mensile sia calcolabile come quello annuo diviso 12) a. /* Il valore di Stipendio/12 viene rinominato StipendioMensile */ select MatricolaD, Stipendio/12 as StipendioMensile from docenti; 5) Trovare gli studenti di Verona (tutte le informazioni disponibili su tali studenti) where CittàRes='Verona';
2 6) Trovare gli studenti che non risiedono a Verona where CittàRes<>'Verona' 7) Trovare gli studenti di Verona di sesso femminile where CittàRes='Verona' and Sesso='F'; 8) Trovare gli studenti di sesso femminile che risiedono a Verona o Parma. where Sesso='F' and (CittàRes='Verona' or CittàRes='Parma'); 9) Trovare le informazioni sui corsi da almeno 5 crediti where numcrediti>=5; Esempi d uso della parola chiave LIKE per il confronto tra stringhe. Si ricorda che il comando attributo LIKE 'stringa' permette di confrontare il valore dell'attributo con il contenuto della stringa di caratteri presente dopo la parola chiave LIKE. La stringa di confronto può contenere i caratteri speciali % e _ % = stringa di lunghezza arbitraria (eventualmente zero) con contenuto arbitrario _ = un singolo carattere arbitrario (uno ed esattamente uno) 10) Trovare gli studenti il cui cognome comincia con la lattera R where CognomeS LIKE 'R%' ; 11) Trovare gli studenti il cui cognome comincia con la lattera R e finisce con la lettera i where CognomeS LIKE 'R%i' ; 12) Trovare gli studenti il cui cognome ha la lettera a in seconda posizione where CognomeS LIKE '_a%' ;
3 Valore NULL. Si ricorda che per verificare se un attributo di una tupla contiene il valore nullo oppure no è necessario usare i comandi attributo IS NULL e attributo IS NOT NULL 13) Trovare gli studenti per cui è noto il numero di telefono where NumTelefono IS NOT NULL; 14) Trovare la matricola degli studenti per cui non è noto il numero di telefono a. select matricola where NumTelefono IS NULL; Ordinamento dei risultati. 15) Trovare i corsi, restituendoli ordinati in numero di crediti decrescente. order by NumCrediti DESC; 16) Trovare i corsi, restituendoli ordinati in numero di crediti decrescente. A parità di numero di crediti ordinare i corsi alfabeticamente in base al nome order by NumCrediti DESC, NomeC; Interrogazioni che coinvolgono più tabelle in join tra di loro. 17) Trovare matricola, cognome e nome degli studenti di Verona che hanno preso almeno un 30 a. select Studenti.Matricola, Studenti.CognomeS, Studenti.NomeS, esami where studenti. Matricola=Esami. Matricola and Voto=30; Soluzione alternativa in cui solo per comodità di scrittura rinomino le istanze delle tabelle STUDENTI e CORSI rispettivamente come S e C (vedremo in esercizi successivi che l assegnazione di alias/soprannomi alle diverse istanze delle tabelle è necessario quando si hanno più istanze della stessa tabella nella stessa interrogazione per distinguere le diverse istanze) b. select S.Matricola, S.CognomeS, S.NomeS S, corsi C where S.Matricola=C.Matricola and Voto=30; Altra sintassi possibile per eseguire il natural join (non spiegata in aula) basata sull operatore JOIN
4 c. select Studenti.Matricola, Studenti.CognomeS, Studenti.NomeS JOIN esami ON studenti. Matricola=Esami. Matricola where Voto=30; 18) Trovare codice e nome dei corsi per i quali almeno uno studente di Verona ha preso 30 all esame. a. select C.CordCorso, C.NomeC S, esami E, Corsi C where S. Matricola=E. Matricola and C.CordCorso=E.CodCorso and Voto=30 and CittàRes= Verona ; 19) Trovare codice, nome e cognome degli studenti che ha preso un voto superiore a 25 ad almeno uno tra i corsi 'Fondamenti Inf 1' e 'Fondamenti Inf 2' a. select Studenti.Matricola, Studenti.CognomeS, Studenti.NomeS from Esami, Corsi where Corsi.CordCorso=Esami.CodCorso and Voto>25 and (NomeC='Fondamenti Inf 1' OR NomeC='Fondamenti Inf 2'); Funzioni aggregate 20) Contare quanti studenti sono presenti nella tabella studenti a. select count(*) b. /* In questa versione alternativa associo il nome/alias numerostudenti a count(*) */ select count(*) as numerostudenti 21) Contare da quante città diverse provengono gli studenti presenti nella base di dati a. /* La parola chiave DISTINCT all'interno dell'operatore COUNT(..) serve per specificare che voglio contare quanti valori diversi assume CittàRes nelle tuple selezionate */ select count(distinct CittàRes) 22) Contare per quanti studenti è noto il numero di telefono a. /* L'operatore COUNT(attributo) considera solo le tuple in cui il campo specificato non assume valore NULL */ select count(numtelefono) 23) Selezionare il voto più alto e quello più basso preso dallo studente con matricola 'M1000' a. select MAX(Voto) as VotoMassimo, MIN(Voto) as VotoMinimo from esami where Matricola='M1000';
5 24) Calcolare la media voti dello studente con matricola 'M1000' a. select AVG(Voto) as MediaVoti from esami where Matricola='M1000'; 25) Contare quanti studenti di Verona hanno superato l'esame di Basi di dati con un voto superiore a 25 a. select COUNT(*) as StudentiVerora_EsamePassato from Esami, Studenti where Esami.Matricola=Studenti.Matricola and Studenti.CittàRes='Verona' and Voto>25; 26) Calcolare la somma degli stipendi dei docenti del Dipartimento di Fisica a. select SUM(Stipendio) as SommaStipendi from Docenti where DipartimentoDiAfferenza='Dipartimento di Fisica';
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
Data la seguente Base di dati: STUDENTE(Matricola, Nome, Cognome, Indirizzo, Città, CAP,Sesso) DOCENTE(Matricola, Nome, Cognome, Città,Telefono, Stipendio) CORSO(Codice, Nome, Facoltà, NumeroCrediti) ESAME(CodiceCorso,
Basi di dati I Prova di autovalutazione 30 ottobre 2014
Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri
Linguaggio SQL seconda parte
Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle
SQL: le funzioni di aggregazione
SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il
Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi
Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il
ESERCITAZIONE 4 Giovedì 13 novembre 2014 (3 ore) SQL
ESERCITAZIONE 4 Giovedì 13 novembre 2014 (3 ore) SQL Testi degli esercizi Si consideri il seguente schema di base di dati. STUDENTE(Matricola, Nome, Cognome, Indirizzo, Città) INSEGNANTE(Matricola, Nome,
SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni
SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 5 Raffaella Gentilini 1 / 22 Sommario 1 Gruppi 2 / 22 Raggruppamenti Gruppi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a
Esercizi SQL. Credits Prof. Campi
Esercizi SQL Credits Prof. Campi 1 Le cose che non vogliamo vedere Target list miste quando non c è la clausola group by Attributi nella select o nella having che non siano anche nella group by (quando
Structured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
QL (Query Language) Alice Pavarani
QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione
Select From Where...
Select From Where... SELECT Le colonne che saranno mostrate e in che ordine. Calcoli su colonne FROM La tabella o le tabelle usate dall interrogazione WHERE Condizione che deve essere soddisfatta dalle
ESERCITAZIONI ACCESS
ESERCITAZIONI ACCESS MS Access 2000 Struttura di riferimento: Studente (Matricola, Cognome, Nome) Esame (Matricola, Materia, Voto, Data) CREARE LE TABELLE IN SQL: Create table STUDENTE ( matricola char(6)
Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola
SQL SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SELECT s.nome As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami FROM Studenti
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML
Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati
Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB
Il linguaggio SQL: raggruppamenti
Il linguaggio SQL: raggruppamenti Sistemi Informativi T Versione elettronica: 04.3.SQL.gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono
Alessandra Raffaetà. Esercizio: Cinema
Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema
S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà
Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema
Esercizi sul linguaggio SQL e le basi dati relazionali
Esercizi sul linguaggio SQL e le basi dati relazionali Corso IN530 - Sistemi per l elaborazione delle informazioni Esercizio 1 Fig. 1: Schema fisico del database della Biblioteca Si consideri lo schema
SQL - Sottointerrogazioni correlate
SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire
Linguaggio SQL: fondamenti D B M G
Linguaggio SQL: fondamenti Istruzione SELECT: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2 Istruzione SELECT: esempio Trovare il codice
Elena Baralis 2007 Politecnico di Torino 1
Linguaggio SQL: fondamenti Struttura di base Clausola WHEE Ordinamento del risultato Join unzioni aggregate Operatore GOU BY Istruzione SELECT: esempio di BD forniture prodotti Istruzione SELECT: esempio
Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati
Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni
Interrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
SQL - Sottointerrogazioni
una delle ragioni che rendono SQL un linguaggio potente è la possibilità di esprimere interrogazioni più complesse in termini di interrogazioni più semplici, tramite il meccanismo delle subqueries (sottointerrogazioni)
Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf
Il linguaggio SQL: raggruppamenti Versione elettronica: SQLb-gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a singole tuple (eventualmente
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con
Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice
Linguaggio SQL Il linguaggio SQL (Structured Query Language) è il linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali sostenuti codice matricola anno voto
3. Selezionare i nomi dei clienti che iniziano con le lettere P, Q, R, S
Esercitazione di SQL Corso di Basi di Dati 1. Visualizzare i clienti in ordine alfabetico select * order by nomesocietà 2. Visualizzare i clienti che non hanno il fax where fax is null 3. Selezionare i
Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018
Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 REGOLE SULLO SVOLGIMENTO DELL ESAME E vietato usare dispositivi elettronici di qualsiasi tipo (smartphone, tablet, portatili) Non è
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 46 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 3 Funzioni d aggregazione La Clausola GROUP BY La Clausola HAVING
Interrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
Manuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi
Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Utilizzando Microsoft Access Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono
8 SQL : Check, Asserzioni,Viste
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2011/2012 8 SQL : Check, Asserzioni,Viste
Caratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL
Basi di Dati Esercitazione 1: Interrogazioni in SQL DB di riferimento per esempi Consideriamo i seguenti schemi di una base di dati relazionale: PremioProduzione, DataAssunzione) Viene data la seguente
S Q L E S E R C I Z I
S Q L E S E R C I Z I 1. Sia dato il seguente schema relazionale: GIOCATORE(CodGiocatore, Nome, RuoloIdeale) SQUADRA(CodSquadra, Nome, Citt`a) GIOCA IN(CodGiocatore,CodSquadra, Anno, Ruolo) (a) Visualizzare
Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento
Operatori aggregati In algebra relazionale le espressioni vengono valutate sulle singole tuple in successione. Talvolta però possono essere necessarie informazioni derivabili dall esame di tutte le tuple
