SQl come DML. Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SQl come DML. Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone"

Transcript

1 SQl come DML Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 5 Appunti dalle lezioni SQL come DDL Sistemi informativi e basi di dati La Progettazione Concettuale SQL come DML Il modello relazionale La Progettazione Logica SQL come DCL Utilizzo di un DBMS Reale La Progettazione Fisica Strumenti CASE Forme normali Programmazione Transazioni e tecnologie di supporto Basi di dati direzionali Basi di dati distribuite 2 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

2 Data Manipulation Language (DML) Inserire dati Modificare dati Cancellare dati Estrarre dati SQL I sistemi commerciali spesso offrono una serie di strumenti che estendono le funzionalità definite a livello di standard. 3 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Inserimento di Righe Prima forma: insert into NomeTab [(Lista)] values (Valori) Dipartimento(Codice: Codice:char char(4),nome: (4),Nome:varchar varchar(20)) Insert into Dipartimento values( aaa aaa, Amministrazione Amministrazione ) Insert into Dipartimento(Codice,Nome) values( aaa aaa, Amministrazione Amministrazione ) Insert into Diparttimento(Codice) values ( cccc cccc ) Insert into Diparttimento(Codice,Nome) values ( dddd dddd,null) 4 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

3 Modifica di Righe update NomeTabella set Attr=< =<Espr null default> {,Attr Attr=< =<Espr null default>} [where Condizione] Dipartimento(Codice:char char(4),nome: (4),Nome:varchar varchar(20)) Update Dipartimento Set Nome = Amministrazione Amministrazione Update Dipartimento Set Nome = Amministrazione Amministrazione where Codice = aaaa aaaa Update Dipartimento Set Nome = Sconosciuto Sconosciuto where Nome is Null UPDATE prodotto SET prezzo = prezzo * AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Cancellazione Righe delete from NomeTab [where Condizione] Dipartimento(Codice:char char(4),nome: (4),Nome:varchar varchar(20)) Delete from Dipartimento where Nome is Null Se la condizione where manca allora la tabella viene svuotata. delete from Dipartimento Invece: drop table Dipartimento elimina la tabella 6 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

4 Interrogazioni (Query Query) SQL esprime le interrogazioni in modo dichiarativo attraverso il comando select. L interrogazione è poi automaticamente tradotta in termini procedurali e poi eseguita. Esistono vari modi per formulare una stessa query. L utente, tipicamente, non ha bisogno di preoccuparsi dell efficienza della query formulata quanto della sua leggibilità e modificabilità. 7 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Query Sintassi (quasi) generale Select <elenco attributi> From <elenco tabella> [Where <condizione>] [Group by <attributi di raggruppamento>] [Having <condizione di raggruppamento>] [Order by <elenco attributi>] From Where Group By Having Select Order By 8 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

5 Query Esempio: studente (Matricola ( Matricola,Nome, Cognome) CREATE TABLE studente ( matricola character(4) NOT NULL, cognome character varying(20), nome character varying(20), CONSTRAINT pk_studente PRIMARY KEY (matricola( matricola) ) INSERT INTO studente(matricola, cognome, nome) VALUES ('aaaa aaaa', 'Paolino', 'Paperino').. INSERT INTO studente(matricola, cognome, nome) VALUES ( bbbb ( bbbb', Rossi, Mario') 9 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By select Cognome from Studente Matricola Cognome Nome aaaa Paolino Paperino bbbb Rossi Mario cccc Bianchi Mario dddd Bianchi Giuseppe eeee Rossi Vincenzo ffff Esposito Gennaro Cognome Paolino Rossi Bianchi Bianchi Rossi Esposito 10 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

6 From Where Group By Having Select Order By select Cognome as Surname from Studente Matricola Cognome Nome aaaa Paolino Paperino bbbb Rossi Mario cccc Bianchi Mario dddd Bianchi Giuseppe eeee Rossi Vincenzo ffff Esposito Gennaro Surname Paolino Rossi Bianchi Bianchi Rossi Esposito 11 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By select Cognome as Surname,, Nome from Studente Matricola Cognome Nome aaaa Paolino Paperino bbbb Rossi Mario cccc Bianchi Mario dddd Bianchi Giuseppe eeee Rossi Vincenzo ffff Esposito Gennaro Surname Paolino Rossi Bianchi Bianchi Rossi Esposito Nome Paperino Mario Mario Giuseppe Vincenzo Gennaro 12 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

7 From Where Group By Having Select Order By select * from Impiegato Matricola Cognome Nome aaaa Paolino Paperino bbbb Rossi Mario cccc Bianchi Mario dddd Bianchi Giuseppe eeee Rossi Vincenzo ffff Esposito Gennaro Matricola Cognome Nome aaaa Paolino Paperino bbbb Rossi Mario cccc Bianchi Mario dddd Bianchi Giuseppe eeee Rossi Vincenzo ffff Esposito Gennaro 13 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By select * from Impiegato where Cognome= Bianchi Bianchi Matricola Cognome Nome aaaa Paolino Paperino bbbb Rossi Mario cccc Bianchi Mario dddd Bianchi Giuseppe eeee Rossi Vincenzo ffff Esposito Gennaro Matricola Cognome Nome cccc Bianchi Mario dddd Bianchi Giuseppe select Stipendio/12 as StipMens from Impiegato where cognome= Rossi Rossi 14 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

8 From Where Group By Having Select Order By E possibile usare connettivi logici (and, or, not) ed espressioni di confronto. select nome, cognome from Impiegato where ufficio=20 and dipartimento= DIS DIS select nome, cognome from Impiegato where ufficio=20 or dipartimento= DIS DIS select nome from Impiegato where cognome = Rossi Rossi and (ufficio=20 or dipartimento= DIS DIS ) 15 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By Operatore LIKE E usato nel confronto di stringhe e si appoggia su due caratteri speciali: _ (indica un qualsiasi carattere) % (indica una stringa, anche vuota) select nome from Impiegato where cognome like _o%i _o%i Ritornerà tutti nomi di Impiegato il cui cognome ha una o in seconda posizione e termina per i (Rossi, Doncelli, Loi). 16 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

9 From Where Group By Having Select Order By Valori Null Where Stipendio > 40 è soddisfatta dalle righe in cui Stipendio e e noto e maggiore di 40. Per i valori nulli si usa Stipendio is null: where stipendio is null where stipendio is not null Not V F U F V U O r V U F V V V V U V U U F V U F a n d V U F V V U F U U U F F F F F 17 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML SQL vs Relazione come Insieme Abbiamo detto che il risultato del select è una relazione. Questo non è del tutto vero, in quanto tale risultato potrebbe avere righe uguali. Ciò è dovuto a ragioni di efficienza, perché eliminare i duplicati può essere costoso in termini di tempo e deve essere espressamente richiesto. select distinct Città from AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

10 From Where Group By Having Select Order By Impiegato(Matricola Matricola,, Cognome, Nome, Dipartimento.Dipartimento(Nome)) Dipartimento(Nome Nome, Citta) select * from Impiegato, Dipartimento select * from Impiegato CROSS JOIN Dipartimento 19 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By 20 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

11 From Where Group By Having Select Order By Nomi ambigui select nome from Impiegato, Dipartimento select Impiegato.nome from Impiegato, Dipartimento select I.nome, D.citta from Impiegato as I, Dipartimento as D 21 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By select * from Impiegato as I, Dipartimento as D where I.Dipartimento =D.Nome 22 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

12 From Where Group By Having Select Order By select * from Impiegato as I inner join Dipartimento as D on (I.Dipartimento( =D.Nome) 23 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By Join from t1 tipojoin join t2 on condizione tipojoin inner, right (outer ( outer) left (outer outer) full (outer ( outer) 24 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

13 From Where Group By Having Select Order By Con il join interno le righe coinvolte nel risultato sono in genere un sottoinsieme delle righe di ciascuna tabella, perché una riga della tabella R1 potrebbe non avere corrispondenze nella tabella R2 e viceversa. In alcune applicazioni potrebbe servire mantenere tutte le righe di qualcuna delle (tutte le) tabelle coinvolte, mettendo dei valori Null per indicare l l assenza di informazioni provenienti dall altra tabella. Outer Join Il join esterno mantiene tutte le righe della tabella di sinistra (left ( left), della tabella di destra (right) o di entrambe (full). 25 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By 26 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

14 From Where Group By Having Select Order By 27 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By 28 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

15 From Where Group By Having Select Order By Variabili usate nel FROM select I.nome,, D.nome, D.Citta from Impiegato as I, Dipartimento as D where I.Dipart = D.Nome In questo caso la variabile è da interpretarsi semplicemente come un ridenominazione. Utilizzando gli Alias è però possibile anche far riferimento a più esemplari della stessa tabella. In questo caso l interpretazione l è che, per ogni alias, si introducesse una variabile di tipo tabella che viene inizializzata con la tabella in questione. 29 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Esempio Impiegato(Matricola Cognome Eta Stipendio) Supervisione(Capo Capo:Impiegato.Matricola Impiegato:Impiegato Impiegato.Matricola) Trovare il nome e lo stipendio degli impiegati che guadagnano più del proprio capo. Select I2.Nome,, I2.Stip from (Impiegato as I1 join Supervisione as S on (I1.Matricola=S.Capo)) join Impiegato as I2 on (I2.Matricola=S.Impiegato) where I2.Stipendio > I1.Stipendio Cognome Eta Stipendio Matricola Capo Impiegato Matricola Cognome Eta Stipendio 30 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

16 Esempio 31 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML From Where Group By Having Select Order By Il risultato di una interrogazione è una relazione e come tale non è ordinata. Nelle applicazioni è comunque utile avere i risultati ordinati secondo una certa strategia. L ordinamento agisce prima del select Non è necessario ordinare su un attributo selezionato L ordinamento introduce, in molti casi, un certo overhead. select Matricola from Impiegato order by Cognome, Nome desc 32 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

17 From Where Group By Having Select Order By Operatori Aggregati Agiscono non a livello di tupla ma a livello di relazione. count sum max min avg count (<* [distinct [ all] listaattributi) select count(all nome,cognome) from Impiegati 33 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML 34 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

18 Operatori Aggregati (continua) <sum avg max min> ([distinct all] Attr) sum e avg richiedono che l l attributo sia numerico o di tipo intervallo temporale. max e min possono riferirsi a qualsiasi attributo sul cui dominio sia s definito un ordinamento. select max(stip Stip) from Impiegato where eta <35 errata select Matr, max(stip Stip) from Impiegato where eta <35 35 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Interrogazioni con Raggruppamento In alcune applicazioni sorge l esigenza l di applicare gli operatori aggregati distintamente a sottoinsiemi di righe. Impiegati nome dipart Uff Stip Pippo dip Pluto dip Topolino dip Paperino dip Paperina dip select dipart, sum(stip) from Impiegati Group by dipart 36 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

19 Interrogazioni con Raggruppamento Step 1: select dipart, Stip from Impiegati Step 2. Le righe della tabella ottenuta sono analizzate e raggruppate in sottoinsiemi in funzione dell attributo di group by. Step 3. Sui sottoinsiemi viene applicato l l operatore aggregato. 37 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML 38 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

20 Interrogazioni con Raggruppamento select ufficio from impiegato group by dipart sintatticamente errata e priva di senso. select dipart, count (*), Citta from Impiegato I inner join dipartimento D on (I.dipart=D.nome) group by dipart sintatticamente errata ma significativa select dipart, count (*), Citta from Impiegato I inner join dipartimento D on (I.dipart=D.nome) group by dipart, citta 39 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Predicati sui Gruppi La clausola group by consente di lavorare su sottoinsiemi. La clausola having consente di selezionare i sottoinsiemi. select dipart,, sum(stip Stip) from Impiegati groupby dipart having sum(stip Stip) >= AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

21 41 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Interrogazioni Insiemistiche union, intersect, execpt (minus minus) Possono essere solo al livello più esterno di una query, operando sul risultato di un select. Eseguono sempre una eliminazione di duplicati (se non si esplicita la keyword all). E richiesto che gli attributi siano compatibili. select cognome from Impiegati union all select nome from impiegati 42 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

22 43 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Interrogazioni Nidificate In SQL è possibile confrontare un valore con il risultato di un select. All, any select * from impiegato where Dipart = any ( select Nome from dipartimento where citta = topolinia ) select * from impiegato where Dipart <> all ( select Nome from dipartimento where citta = topolinia ) 44 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

23 Interrogazioni Nidificate Impiegato(Matricola, Cognome,Stipendio) Trovare gli impiegati che guadagnano lo stipendio più alto Select * From Impiegato Where Stipendio = ( Select max(stipendio) From Impiegato) 45 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML Interpretazione L interrogazione nidificata è eseguita una sola volta prima di eseguire l interrogazione esterna. che sarà basata su un risultato temporaneo. L interrogazione interna può anche fare riferimento a quella esterna, rendendo questa interpretazione non più valida. Bisogna allora reinterpretare il tutto in termini di prodotto cartesiano di tabelle sul cui risultato si applicano le condizioni espresse nel l predicato where. Poiché il predicato where è a sua volta una interrogazione, questa dovrà essere valutata per ogni riga del prodotto stesso. 46 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

24 Interpretazione Persona(CF,Cognome,Nome) Trovare gli omonimi Select distinct P1.* From Persona P1, Persona P2 where P1.nome = P2.nome and P1.cognome = P2.cognome and P1.CodFis <> P2.CodFis 47 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML select * from Persona P Inserimento di Righe (forma 2) insert into NomeTab [ListaAttributi ListaAttributi] <values (ListaValori ListaValori) SelectSQL> Esempio forma 1: insert into Dipartimento(Nome,Citta) values( prod prod, Milano Milano ) Esempio forma 2: insert into ProdottiMilanesi (select * from Prodotti where LuogoProd= Milano Milano ) 48 AA , Basi di Dati, Prof. Antonio d Acierno, dacierno.a@isa.cnr.it SQL come DML

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

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Dettagli

Informatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB

Informatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB Informatica II Basi di Dati (07/08) Parte 2 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 4 Accesso ai dati di un DB SQL Accesso ai dati di un DB Aggiornamento

Dettagli

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"

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 SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS

Dettagli

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL Principi di Progettazione del Software a.a. 2017-2018 Ing. Università del Salento Il Linguaggio SQL Due componenti principali: Ø DDL (Data Definition Language) Contiene i costrutti necessari per la creazione/modifica

Dettagli

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento

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

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

SQL e algebra relazionale

SQL e algebra relazionale SQL e algebra relazionale Il linguaggio SQL consente una maggiore espressività dell algebra relazionale grazie a costrutti che permettono: di definire join più sofisticati di ordinare le righe dei risultati

Dettagli

Interrogazioni su più tabelle. Interrogazioni su più tabelle. Clausola where. Interrogazioni su più tabelle

Interrogazioni su più tabelle. Interrogazioni su più tabelle. Clausola where. Interrogazioni su più tabelle Interrogazioni su più tabelle Se si vogliono estrarre informazioni da più tabelle, queste devono apparire come argomento della clausola from. Se si deve formulare un join, è possibile farlo in modo esplicito

Dettagli

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

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

Dettagli

Interrogazioni in SQL SQL. Interrogazioni in SQL. Sintassi. Significato dell interrogazione. Notazione

Interrogazioni in SQL SQL. Interrogazioni in SQL. Sintassi. Significato dell interrogazione. Notazione SQL Anno accademico 2008/2009 Interrogazioni in SQL Originariamente Structured Query Language Non esiste un unico standard SQL standard Formulazione di interrogazioni (query) è parte del Data Manipulation

Dettagli

Interpretazione delle query nidificate

Interpretazione delle query nidificate Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi

Dettagli

Queries su più tabelle

Queries su più tabelle Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

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

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

Dettagli

Interrogazioni in SQL SQL. Interrogazioni in SQL. Cenni sull implementazione

Interrogazioni in SQL SQL. Interrogazioni in SQL. Cenni sull implementazione Interrogazioni in SQL SQL Interrogazioni Non esiste un SQL standard (vari dialetti) Formulazione di interrogazioni (query) è parte del Data Manipulation Language, DML Anche usato come Data Declaration

Dettagli

SQL /10/2016 Basi di dati - SQL 1

SQL /10/2016 Basi di dati - SQL 1 SQL 24-27/10/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove parziali

Dettagli

QL (Query Language) Alice Pavarani

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

Dettagli

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

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Select From Where...

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

Dettagli

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

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL Manuale Comandi SQL Sito per esercitarsi (on line)... 1 SQL... 1 Convenzioni e simboli usati... 2 Query Language... 2 Comando Select... 2 Order By:... 3 Sintassi generale:... 3 Ordinamanto su PIU campi...

Dettagli

Linguaggio SQL seconda parte

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

Dettagli

Interrogazioni semplici

Interrogazioni semplici Interrogazioni semplici Lorenzo Sarti 2009 Basi di Dati 1 select Campi considerati Matricola Cognome Nome Data di nascita A80198760 Bianchi Anna 22/03/1967 A80293450 Rossi Andrea 13/04/1968 A80198330 Neri

Dettagli

SQL: le funzioni di aggregazione

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

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 4 Contenuto della lezione Interrogazioni SQL Join interni ed esterni Uso di variabili tupla o ALIAS Interrogazioni

Dettagli

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione.

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. Ordinamento E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. order by AttrdiOrdinamento [asc desc] {, AttrdiOrdinamento

Dettagli

Manuale SQL. Manuale SQL - 1 -

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,

Dettagli

Structured Query Language

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

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Luca Martini Università di Pisa 16 aprile 2010 Riepilogo sugli operatori aggregati Sintassi SELECT A t t r i b u t o 1, MAX( A t t r i b u t o 2 ),... FROM Tabella1, Tabella2,...

Dettagli

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

SQL. SQL: una visione panoramica. SQL: storia Definizione dei dati SQL SQL: una visione panoramica I lucidi presentati sono liberamente ispirati al contenuto del Capitolo 4 del libro Atzeni, Ceri, Paraboschi, Torlone Basi di dati - McGraw-Hill, 1999 Structured Query Language

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

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

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Informatica Grafica. Basi di dati parte 2

Informatica Grafica. Basi di dati parte 2 Informatica Grafica Corso di Laurea in Ingegneria Edile Architettura Basi di dati parte 2 Michele Lombardi su materiale originario di Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica

Dettagli

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY)

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) SQL SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) Esempio 1 Madre Maternita Figlio Nome Eta Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 50 60 Olga 30 Sergio 85 Luisa 75 Persone Reddito

Dettagli

Corso di Informatica Medica

Corso di Informatica Medica Università degli Studi di Trieste Corso di Laurea Magistrale in INGEGNERIA CLINICA ESERCITAZIONE: IL LINGUAGGIO SQL Corso di Informatica Medica Docente Sara Renata Francesca MARCEGLIA Dipartimento di Ingegneria

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Appunti dalle lezioni. Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale.

Appunti dalle lezioni. Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale. SQl come DDL Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 2 Appunti dalle lezioni SQL come DDL Sistemi

Dettagli

IL LINGUAGGIO SQL LE BASI

IL LINGUAGGIO SQL LE BASI IL LINGUAGGIO SQL LE BASI DB DI RIFERIMENTO PER GLI ESEMPI 2 ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere

Dettagli

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operatori aggregati Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi

Dettagli

Caratteristiche dei linguaggi per Database

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;

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica Dipartimento Informatica Materia Informatica Classe 5 Tec Ore/anno 198 A.S. 2018-2019 MODULI COMPETENZE UNITA di APPRENDIMENTO Gestione delle informazioni Tot. h 10 Base di Dati Tot. h 56 Grafica in C#

Dettagli

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 48 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 La Clausola HAVING 3 2 / 48 Join Naturale Theta Join Join Esterno

Dettagli

Basi di Dati. Concetti Avanzati

Basi di Dati. Concetti Avanzati Basi di Dati Concetti Avanzati Concetti Avanzati Raggruppamenti Clausole GROUP BY e HAVING Forma Generale della SELECT Nidificazione Uso nel DML e DDL Nidificazione, Viste e Potere Espressivo Esecuzione

Dettagli

SQL Esempi. 24/10-7/11/2016 Basi di dati - SQL 1

SQL Esempi. 24/10-7/11/2016 Basi di dati - SQL 1 SQL Esempi 24/10-7/11/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove

Dettagli

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

SQL Esempi /10/2017 Basi di dati - SQL 1

SQL Esempi /10/2017 Basi di dati - SQL 1 SQL Esempi 23-26/10/2017 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove

Dettagli

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 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 è

Dettagli

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

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento

Dettagli

Linguaggi per basi di dati e SQL

Linguaggi per basi di dati e SQL Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento

Dettagli

Corso di Informatica Linguaggio SQL prima parte

Corso di Informatica Linguaggio SQL prima parte Corso di Informatica Linguaggio SQL prima parte Anno Accademico 2018-2019 Linguaggio SQL (Structured Query Language) 2 Il linguaggio SQL Un linguaggio per DBMS (DataBase Management System) deve permettere

Dettagli

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (1) Interrogazioni semplici Prof. Alberto Postiglione

Dettagli

Monday, January 24, 2011 SQL

Monday, January 24, 2011 SQL SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

SQL: "storia" 31/05/2006 2

SQL: storia 31/05/2006 2 SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali, non i dettagli

Dettagli

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

Dettagli

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, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SQL, e.data, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami WHERE NOT EXISTS (SELECT * WHERE e.matricola = s.matricola

Dettagli

Database parte 2. Database azienda

Database parte 2. Database azienda Database parte 2 Esercizio azienda SQL Ing. Lucia Vaira lucia.vaira@unisalento.it Database azienda L azienda è organizzata in dipartimenti Ciascun dipartimento ha un codice, un nome e un impiegato che

Dettagli

SQL - Sottointerrogazioni correlate

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

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - Funzioni Aggregate e GROUP BY

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - Funzioni Aggregate e GROUP BY SQL SQL come Data Manipulation Language - Funzioni Aggregate e GROUP BY Esempio DB 1 Madre Maternita Figlio Nome Eta Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 Luigi 50 Franco 60 Olga 30 Sergio 85 Luisa

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Informatica per l'impresa Docente Tutor: Dott. Gianluigi Roveda OBIETTIVO: Rivedere come attività di laboratorio le query di tipo select scritte in SQL ma con le variazioni

Dettagli

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operazioni di aggiornamento operazioni di inserimento: insert eliminazione: delete modifica: update di una o più ennuple di una

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte.

Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte. Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Capitolo 4: SQL-2, seconda parte 11/03/2005 Maternità Legami logici Paternità Madre Luisa Luisa Anna Anna Padre

Dettagli

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : SQL (3) Tabelle multiple, variabili, operatori di aggregazione QUERIES SU PIU TABELLE Queries su più tabelle 17 mar 010 Dia 3 17 mar 010 Dia 4 Per formulare un interrogazione su più tabelle, la clausola

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una

Dettagli

Interrogazioni complesse. SQL avanzato 1

Interrogazioni complesse. SQL avanzato 1 Interrogazioni complesse SQL avanzato Classificazione delle interrogazioni complesse Query con ordinamento Query con aggregazione Query con raggruppamento Query binarie Query annidate SQL avanzato 2 Esempio

Dettagli

La progettazione logica

La progettazione logica La progettazione logica Angelo Chianese,, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 3 (Paragrafo 3.5) Capitolo 4 (Paragrafi

Dettagli

Il linguaggio SQL - Interrogazioni -

Il linguaggio SQL - Interrogazioni - Il linguaggio SQL - Interrogazioni - Dott. Nicola Dragoni nicola.dragoni@gmail.com (Il contenuto di queste slide è stato originariamente creato dal Dott. Matteo Magnani) 1 Il linguaggio SQL Il linguaggio

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

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

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato Settore Traccia 1 Traccia 200 Settore non polarizzato '! " # $ % & ( ) * + + ' ' ' !"#"$%, & &'(("% '&)'' ''"* - -. / / / 0/!- "-, (0 #- / / / 0/ --- + 1 ' # $ + 2 13 ,, - 4 '. & 56 2 '/!!! "7&% 8, 9 /'"'0'1'&'

Dettagli

Linguaggio SQL: fondamenti D B M G

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

Dettagli

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

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Argomenti della lezione SQL Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Maternità Paternità Madre Figlio Olga Filippo Sergio Olga Filippo Persone

Dettagli

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

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL Informatica Basi di dati parte 4 SQL Lezione 13 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Interrogazioni in

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (3) Insiemistiche e Nidificate Prof. Alberto Postiglione

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/ Modelli di Base Dati 8 L aggregazione e il raggruppamento in SQL a.a. 2001/2002 8.1 SQL: le funzioni di aggregazione 8.2 funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Sesta parte Interrogazione di una

Dettagli

Linguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici.

Linguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici. Linguaggi per Basi di Dati - 1 Università degli Studi di Trieste Corso di Laurea in Informatica D. Gubiani marzo 2008 Distinguiamo due classi di linguaggi per basi di dati : - linguaggi di definizione,

Dettagli

Operatori aggregati: COUNT

Operatori aggregati: COUNT Operatori aggregati: COUNT Il numero di figli di select count(*) as NumFigliDi where Padre = '' Paternità Padre Sergio Figlio Olga Filippo Andrea Aldo l operatore aggregato (count) viene applicato al risultato

Dettagli

Corso di. Basi di Dati I. 8. Esercitazioni in SQL: Interrogazioni nidificate

Corso di. Basi di Dati I. 8. Esercitazioni in SQL: Interrogazioni nidificate Corso di Basi di Dati 8. Esercitazioni in SQL: Interrogazioni nidificate A.A. 2016 2017 Interrogazioni nidificate Come abbiamo visto, in una query SQL il comando where è seguito da un argomento che può

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno 2.3b: SQL (2) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 27 Sommario 1 Join di Tabelle 2 3 2 / 27 Lo Statement JOIN Join espliciti di tabelle nella clausola FROM In SQL e possibile scrivere

Dettagli

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

5.0- Le operazioni. Introduzione. OPERAZIONI INSIEMISTICHE Notazione Classica. Basi di Dati per la gestione dell Informazione 1 2 Introduzione 5.0- Le operazioni Basi di Dati per la gestione dell Informazione A. Chianese, V. Moscato, A. Picariello, L. Sansone Le operazioni del modello relazionale sono di due tipi: Operazioni

Dettagli

SQL DDL. Create database. Alter database. Drop database

SQL DDL. Create database. Alter database. Drop database SQL In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale (RDBMS), progettato per le seguenti operazioni: creare e modificare schemi

Dettagli

Basi di Dati. Dettagli e Approfondimenti SQL-92 25/02/2004. Dettagli e Approfondimenti. DDL: Tabelle. DML: Aggiornamenti.

Basi di Dati. Dettagli e Approfondimenti SQL-92 25/02/2004. Dettagli e Approfondimenti. DDL: Tabelle. DML: Aggiornamenti. Basi di Dati SQL-92 Dettagli e Approfondimenti SQL-92 >> Sommario Dettagli e Approfondimenti DDL: Tabelle valori di default vincoli di riferimento modifiche allo schema DDL: Viste definizione e uso DDL:

Dettagli

ESERCITAZIONI ACCESS

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)

Dettagli

BASI di DATI. SQL: concetti fondamentali

BASI di DATI. SQL: concetti fondamentali BASI di DATI SQL: concetti fondamentali 1 SQL-92 >> Sommario Concetti Fondamentali Introduzione Creazione ed eliminazione di bd Creazione ed eliminazione di tabelle Inserimenti di ennuple Interrogazioni

Dettagli

Basi di Dati SQL-92. Dettagli e Approfondimenti

Basi di Dati SQL-92. Dettagli e Approfondimenti Basi di Dati SQL-92 Dettagli e Approfondimenti SQL-92 >> Sommario Dettagli e Approfondimenti DDL: Tabelle valori di default vincoli di riferimento modifiche allo schema DDL: Viste definizione e uso DDL:

Dettagli

Idoneita Informatica. Sistemi per la gestione di basi di Dati

Idoneita Informatica. Sistemi per la gestione di basi di Dati Idoneita Informatica Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari mauro.gaspari@unibo.it Rielaborazione delle slide del Dott. Matteo Magnani e del Dott. Nicola Dragoni 1 Sistema Informativo

Dettagli

Basi di Dati SQL-92. Dettagli e Approfondimenti

Basi di Dati SQL-92. Dettagli e Approfondimenti Basi di Dati SQL-92 Dettagli e Approfondimenti SQL-92 >> Sommario Dettagli e Approfondimenti DDL: Tabelle valori di default vincoli di riferimento modifiche allo schema DDL: Viste definizione e uso DDL:

Dettagli

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

Dettagli