#$ % & * * (+,- .#$ * +/ #$ ! "

Documenti analoghi
Terza Prova Intracorso Fondamenti di Informatica e Programmazione, A.A. 2017/18. Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe II)

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

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

3. Selezionare i nomi dei clienti che iniziano con le lettere P, Q, R, S

Interrogazioni semplici

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015

McGraw-Hill. Soluzioni degli esercizi. Tutti i diritti riservati. Capitolo SELECT Neg_Nome FROM Negozi. 2. SELECT Neg_Cod FROM Ordini

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007

SQL: le funzioni di aggregazione

Sia dato il seguente schema di base di dati:

Basi di Dati. Concetti Avanzati

SQL - Structured Query Language

Basi di dati Corso di Laurea in Informatica Umanistica

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

3. Creare nella propria home directory un file nomescript contenente le definizioni delle 4 tabelle con opportuni comandi create table.

Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi ';

SQL. Esercitazione 6-7. Contatti: Dott.ssa Silvia Bonfanti

Basi di dati: appello 07/02/06

Select From Where...

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

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

Basi di Dati. Esercitazione SQL. 17 novembre 2011

Esercitazione 2 SQL.

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

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

ed SQL 10 Novembre 2009

Interrogazioni con Raggruppamenti

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

Corso sul linguaggio SQL

Basi di Dati: Corso di laboratorio

Lezioni di Laboratorio sui Data Base

SQL: definizione schema

Operazioni di amministrazione Operazioni non presenti nell interfaccia grafica ma eseguibili da linea di comando dagli amministratori del sito.

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

A.A. 2018/2019. Simulazione. Simulazione Terza Prova Intracorso FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

SQL. Esercitazione. Contatti: Dott. Domenico Fabio Savo

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Prova Scritta di Basi di Dati

Basi di dati I Prova di autovalutazione 30 ottobre 2014

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Business Intelligence

Basi di Dati Corso di Laura in Informatica Umanistica

IL LINGUAGGIO SQL LE BASI

A.A. 2018/2019. Funzioni di Aggregazione e Raggruppamenti in SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

PROGETTAZIONE DI DATABASE Linguaggio SQL

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

Basi di dati I Esercizi proposti il 24 ottobre 2016

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Interrogazioni nidificate

SQL - Structured Query Language

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

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

SQL: RAGGRUPPAMENTI, QUANTIFICAZIONE, METODO. Patrizio Dazzi a.a

Esempi SQL con Access. Orazio Battaglia

Basi di Dati. S Q L Lezione 5

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

Basi di dati: appello 14/07/06

SQL /10/2016 Basi di dati - SQL 1

Linguaggio SQL seconda parte

Manuale SQL. Manuale SQL - 1 -

Esercitazione su SQL

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

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Data management a.a Il linguaggio SQL

Gestione dei valori nulli

Interrogazioni complesse. SQL avanzato 1

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Esempio di database relazionale con l utilizzo del prodotto MySQL

Basi di dati: appello 04/07/06

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di Dati - Informatica umanistica Esercitazione (Lab)

5.0- Le operazioni. Introduzione. OPERAZIONI INSIEMISTICHE Notazione Classica. Basi di Dati per la gestione dell Informazione

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

Basi di Dati. S Q L Lezione 4

ESERCITAZIONI ACCESS

Interrogazioni complesse. SQL avanzato 1

Basi di Dati: Corso di laboratorio

SQL (STRUCTURED QUERY LANGUAGE)

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

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"

Soluzione prova scritta di basi di dati del 30 Settembre 2002

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali

Istruzioni. DDL: CREATE, DROP e ALTER TABLE. DML: INSERT, DELETE e UPDATE DQL: SELECT. DCL: GRANT e REVOKE

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

Consideriamo lo schema relazionale

Operazioni sui dati. Interrogazioni con operatori aggregati. Capitolo 4

Basi di dati: appello 11/07/07

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate

Basi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1.

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Transcript:

#$ % & ' %() '$ ( * * (+,-.#$ * +/ #$ (. /( " 1

# 12& 3 4$.'5 3 +60 * π / σ 78.'9 /7 7 * * * * 7$$ *.#$ ) select distinct pezzo from automezzi join cambiostati on cambiostati.matricola = automezzi.matricola join fogliodiriparazione on cambiostati.idcambiostato = fogliodiriparazione.idcambiostato where marca= FIAT and pezzo is not null; 0 6$ SELECT NomeAttr1 [AS Alias1], NomeAttr2 [AS Alias2], FROM Tabella1 [JOIN Tabella2 ON Condizione1 [JOIN Tabella3 ON Condizione2]] [ WHERE Condizione3 ] ; 3 12;$<$$ $ 4 5 * select distinct pezzo from automezzi as a join cambiostati as c on c.matricola = a.matricola join fogliodiriparazione as f on c.idcambiostato = f.idcambiostato where marca= FIAT and pezzo is not null; : 2

# 12& 3 49$ "0 9 % % 5 π / σ 2 7"0 /7 7 * * * * 7$$ *.#$ $$ 7 ) select distinct pezzo,a.matricola,cognome,nome from automezzi as a join cambiostati as c on a.matricola = c.matricola join fogliodiriparazione as f on c.idcambiostato = f.idcambiostato join meccanici as m on f.meccanico = m.matricola where year(data)=2003 and pezzo is not null; = $% 12& 3 4$.'5 3 $?% ; $* 4using (campo1, campo2, )5 π / σ 78.'9 /7 7 * * * * 7$$ *.#$ ) select distinct pezzo from automezzi join cambiostati using (matricola) join fogliodiriparazione on cambiostati.idcambiostato = fogliodiriparazione.idcambiostato where marca= FIAT and pezzo is not null; > 3

$% 12& 3 49$ "0 9 % % 5 3?; ;$* 9$ 4natural5 π / σ 2 7"0 /7 *.#$ ) select distinct pezzo,a.matricola,cognome,nome from automezzi as a natural join cambiostati as c natural join fogliodiriparazione as f join meccanici as m on f.meccanico = m.matricola where year(data)=2003 and pezzo is not null; @ 454 5 t1 NATURAL JOIN t2 B)? * t1 JOIN t2 USING (a1, a2, ) B)? *$ $% ** " A 4

- 3 )9$*$ 9 + $$ 12 3 9 ;* $D * 3 9 ;* * $ 3 )9$* 9 ; SELECT NomeAttr1 [AS Alias1], NomeAttr2 [AS Alias2], FROM Tabella1 [JOIN Tabella2 ON Condizione1 [JOIN Tabella3 ON Condizione2]] [ WHERE Condizione3 ] [ ORDER BY NomeAttr1 [DESC], NomeAttr2 [DESC], ]; C - E$ mysql> select * from marche; nome estera FIAT 0 Opel 1 Iveco 0 Citroen 1 mysql> select * from marche -> order by nome; nome estera Citroen 1 FIAT 0 Iveco 0 Opel 1 mysql> select * from marche order by nome desc; nome estera Opel 1 Iveco 0 FIAT 0 Citroen 1 5

6- ' * * (+,-.#$ * +/ #$ 3 9+9 4 5 $ + select intervento, pezzo, data from automezzi natural join cambiostati natural join fogliodiriparazione where automezzi.matricola = 1 order by data; 6- ' * * (+,-.#$ * +/ #$ 3 9+ $ + select automezzi.matricola, intervento, pezzo, data from automezzi natural join cambiostati natural join fogliodiriparazione order by automezzi.matricola, data; " 6

9$ 3 )9$* 12* $ SELECT NomeAttr1 [AS Alias1], NomeAttr2 [AS Alias2], FROM Tabella1 [JOIN Tabella2 ON Condizione1 [JOIN Tabella3 ON Condizione2]] [ WHERE Condizione3 ] [ ORDER BY NomeAttr1 [DESC], NomeAttr2 [DESC], ] [ LIMIT [start,]count ]; LIMIT Count B 9$$45% LIMIT Start, Count B 9$45% $ 4 5% $ 0 )$4'5 mysql> select * from cambiostati; Id_Cambio_Stato matricola nuovo_stato data_ora 1 1 In Manutenzione 20031010120000 2 1 In Rimessa 20031011120000 3 1 In Servizio 20031011131500 4 2 In Manutenzione 20041010120000 5 2 In Rimessa 20041011120000 mysql> select * from cambiostati limit 2; Id_Cambio_Stato matricola nuovo_stato data_ora 1 1 In Manutenzione 20031010120000 2 1 In Rimessa 20031011120000 mysql> select * from cambiostati limit 3,1; Id_Cambio_Stato matricola nuovo_stato data_ora 4 2 In Manutenzione 20041010120000 : 7

$4'5 ' * * (+,-.#$ * +/ #$ 3 9+ 9 4"5 select intervento, pezzo, data from automezzi natural join cambiostati natural join fogliodiriparazione where automezzi.matricola = 2 order by data desc limit 1; = # @& 3 "# $ % $ & ' $ ( > 8

G$*% '$#,/,F& '$ '$ /,$,.G,/ &.. (,,/ #%.. (,//,G @ -$ $ 3 )% 7 $$ $ $ H$, mysql> select -> articolo,num_pezzi,prezzo_unitario, -> num_pezzi * prezzo_unitario as prezzo_totale -> from righe_fattura where id_fattura = 1; +----------+-----------+-----------------+---------------+ articolo num_pezzi prezzo_unitario prezzo_totale +----------+-----------+-----------------+---------------+ 1 15 950.00 14250.00 2 15 140.00 2100.00 +----------+-----------+-----------------+---------------+ A 9

. 3 $ Count(*) B % 12 Sum(campo) B + $ 12 Avg(campo) B + $ 12 Max(campo) B + $ 12 Min(campo) B + $ 12 C )$ 3 ; I mysql> select count(*) as num_articoli from magazzino; +--------------+ num_articoli +--------------+ 2 +--------------+ 3 ;$ + I mysql> select max(prezzo_vendita) as prezzo_max from magazzino; +------------+ prezzo_max +------------+ 1400.00 +------------+ " 10

)$ 3 ;$ 1 I mysql> select avg(prezzo) from pezzi_per_fornitore -> where articolo = 1; +-------------+ avg(prezzo) +-------------+ 900.000000 +-------------+ 3 ;$ %+ I mysql> select min(prezzo_unitario) from righe_fattura -> where articolo = 2; +----------------------+ min(prezzo_unitario) +----------------------+ 140.00 +----------------------+ " -$ $$ '$#,/,F& '$ '$ /,$,.G,/ & 3 $ 1 3) 3 $$D* 3# "" 11

-$ $$ '$#,/,F& '$ '$ /,$,.G,/ & select magazzino.*, min(prezzo) from magazzino join pezzi_per_fornitore on magazzino.codice = pezzi_per_fornitore.articolo group by articolo; "0 -$ $$ $ '$#,/,F& /,$,.G,/ & mysql> select codice,descrizione,fornitore,prezzo from magazzino as m -> join pezzi_per_fornitore as p on m.codice = p.articolo; +--------+-------------------+-----------+--------+ codice descrizione fornitore prezzo +--------+-------------------+-----------+--------+ 1 Personal Computer 1 900.00 1 Personal Computer 2 850.00 1 Personal Computer 3 750.00 2 Monitor LCD 1 144.30 2 Monitor LCD 2 145.50 2 Monitor LCD 3 180.30 +--------+-------------------+-----------+--------+ ": 12

-$ $$ $" '$#,/,F& /,$,.G,/ & mysql> select codice,descrizione,min(prezzo) from -> magazzino as m join pezzi_per_fornitore as p -> on m.codice = p.articolo -> group by codice; +--------+-------------------+-------------+ codice descrizione min(prezzo) +--------+-------------------+-------------+ 1 Personal Computer 750.00 2 Monitor LCD 144.30 +--------+-------------------+-------------+ "= $$ 3 (;$* WHERE $ $$ 3 + HAVING mysql> select codice,descrizione,min(prezzo) as min_prezzo from -> magazzino as m join pezzi_per_fornitore as p -> on m.codice = p.articolo -> group by codice having min_prezzo < 700; +--------+-------------------+------------+ codice descrizione min_prezzo +--------+-------------------+------------+ 2 Monitor LCD 144.30 +--------+-------------------+------------+ "> 13

*12 3 ;$*$ 12 $$ 3 )$E SELECT * FROM MAGAZZINO WHERE CODICE IN (SELECT ARTICOLO FROM RIGHE_FATTURA) 3 12 %$ 3 2$$ *12 $ +: 3 /< $$ 3 ;$* 6-( $D 3 &9 "@ 3 $D 4))')5 DELETE FROM tbl_name [WHERE where_definition] [ORDER BY...] [LIMIT row_count]; 3 )$E $ DELETE FROM Fatture WHERE Data_pagamento is not null; 3 )$E DELETE FROM Magazzino; "A 14

3 $D 4G/')5 UPDATE tbl_name SET col_name1=expr1 [, col_name2=expr2...] [WHERE where_definition] [ORDER BY...] [LIMIT row_count]; 3 )$E 0 UPDATE CONTATTI SET RAG_SOC='PROVINCIA CT' WHERE CODICE=3 AND TIPO='CLIENTE'; 3 )$E J$+ UPDATE MAGAZZINO SET PREZZO_VENDITA = PREZZO_VENDITA * 1.1; "C 15