Laboratorio di. Docenti: Alberto Belussi e Carlo Combi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di. Docenti: Alberto Belussi e Carlo Combi"

Transcript

1 Laboratorio di Basi di dati/basi i di dati per Bioinformatica Docenti: Alberto Belussi e Carlo Combi Lezione 3

2 Interrogazioni i SQL Le interrogazioni i i SQL hanno la seguente struttura: SELECT <Target List> FRO <Tables list> [WHERE <Conditions list>] L esecuzione dell interrogazione produce il prodotto cartesiano delle tabelle elencate nella clausola FRO, seleziona solo le tuple che soddisfano le condizioni della clausola WHERE e per ogni tupla selezionata proietta sugli attributi della clausola SELECT.

3 Sintassi i SELECT AttrEspr [ [AS] Alias ] {, AttrEspr [ [AS] Alias ] } FRO Tabella [ [AS] Alias ] {, Tabella [ [AS] Alias ] } [WHERE Condizione ]

4 SQL: Clausola SELECT Il comando base del linguaggio SQL: Lista Attributi di cui si vuole conoscere il valore (Target List) SELECT Attributo {,Attributo Attributo} FRO Tabella {,Tabella} [WHERE Condizione]

5 Base di Dati usata negli esempi Studente atricola Indirizzo Citta CAP Sesso Insegnamento Codice _ins Numero_crediti Docente atricola Telefono Stipendio

6 Selezionare tutti gli attributi di una tabella Nella target list può apparire il carattere speciale *, che rappresenta un abbreviazione per la lista di tutti gli attributi delle tabelle indicate nella clausola FRO. SELECT * FRO Tabella

7 Esempio 1 Visualizzare tutto il contenuto della tabella Insegnamento SELECT * FRO Insegnamento; Codice INF01 INF02 INF03 _ins Lab Basi Dati Analisi I Fisica I Numero_crediti 2 3 3

8 Selezionare solo alcuni attributi di una tabella Nella target list può apparire la lista esplicita degli attributi di cui si vuole conoscere il valore SELECT Attributo1, Attributo2 FRO Tabella

9 Esempio 2 Visualizzare la matricola e il nome di tutti gli studenti SELECT atricola, FRO Studente; atricola Indirizzo i Citta CAP Sesso atricola IN IN IN Rossi arco Verdi Paolo Bianchi Luca

10 Espressioni generiche nella Target List Nella target list possono comparire espressioni generiche applicate ai valori degli attributi di ciascuna tuple selezionata: SELECT AttrExpr AS Alias FRO Tabella WHERE Condizione

11 Esempio 3 Visualizzare il nome e lo stipendio settimanale degli insegnanti SELECT, Stipendio/4 AS StipSettimanale FRO Docente; atricola Tlf Telefono Stipendio DIN001 DIN002 DIN003 A. A. B. B. C. C A. A. B. B. C. C. StipSettimanale

12 SQL: Clausola WHERE Nella clausola WHERE viene specificata la condizione che le tuple della tabella risultato devono soddisfare: SELECT ListaAttributi FRO Tabella WHERE Condizione Condizioni atomiche della clausola WHERE: WHERE Attributo θ Valore = <> > < >= >= Dipende dal Tipo dell attributo

13 Esempio 4 Visualizzare il codice e il nome degli insegnamenti da 3 crediti SELECT Codice, _ins FRO Insegnamento WHERE Numero_crediti = 3; Codice INF01 INF02 INF03 Codice INF02 INF03 _ins Lab Basi Dati Analisi I Fisica I _ins Analisi I Fisica I Numero_crediti 2 3 3

14 Esempio 5 Visualizzare il nome e lo stipendio dei docenti che guadagnano più di 2000 euro. SELECT, Stipendio FRO Docente WHERE Stipendio > 2000; atricola DIN001 DIN002 DIN003 A. A. B. B. C. C. Telefono Stipendio A. A. C. C. Stipendio

15 Combinare più predicati: AND, OR, NOT La condizione di selezione della clausola WHERE può essere composta da più predicati combinati mediante i connettivi logici AND, OR, NOT. SELECT ListaAttributi FRO Tabella WHERE Condizione1 OPER_LOGICO Condizione2

16 Esempio 6 Visualizzare il nome, l indirizzo e la città di tutti gli studenti maschi che abitano a SELECT, Indirizzo, Citta FRO Studente WHERE Citta= AND Sesso= ; atricola Indirizzo Citta CAP Sesso = =

17 Esempio 6: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z Rossi arco Verdi Paolo Bianchi Luca Indirizzo Via X Via Y Via Z Citta

18 Esempio 7 Visualizzare il nome, l indirizzo e la città di tutti gli studenti maschi che abitano a o a Padova SELECT, Indirizzo, Citta FRO Studente WHERE (Citta= OR Citta= Padova ) AND Sesso= ; atricola Indirizzo Citta CAP Sesso = o Padova =

19 Esempio 7: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z Rossi arco Verdi Paolo Gialli Ga ario Bianchi Luca Indirizzo Via X Via Y Via K Via Z Citta Padova a

20 Esempio 8 Visualizzare matricola e nome di tutti gli studenti che non abitano a SELECT atricola, FRO Studente WHERE NOT (Citta= ) atricola Indirizzo Citta CAP Sesso NOT =

21 Esempio 8: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z atricola VR0004 Gialli ario

22 Operatore LIKE (e NOT LIKE) Nella clausola WHERE può apparire l operatore LIKE per il confronto di stringhe. LIKE si comporta come un operatore di pattern matching e consente di specificare pattern usando i caratteri speciali _ e %. _ rappresenta a un carattere a e arbitrario ab a % rappresenta un numero arbitrario (anche 0) di caratteri SELECT ListaAttributi FRO Tabella WHERE Attributo1 LIKE pattern

23 Esempio 9 Visualizzare la matricola e il nome di tutti gli studenti che abitano in una città che ha una a in seconda posizione e finisce per a SELECT atricola, FRO Studente WHERE Citta LIKE _a%a atricola Indirizzo Citta CAP Sesso Like _a%a

24 Esempio 9: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z atricola VR0004 Gialli ario

25 Esempio 10 Visualizzare la matricola e il nome di tutti gli studenti che abitano in una città con nome che non inizia per P SELECT atricola, FRO Studente WHERE Citta NOT LIKE P% atricola Indirizzo Citta CAP Sesso NOT LIKE `P%

26 Esempio 10: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z atricola VR0001 VR0002 VR0003 VR0005 Rossi arco Neri aria Verdi ed Paolo aoo Bianchi Luca

27 BETWEEN e NOT BETWEEN Visualizzare il nome e lo stipendio degli insegnanti che guadagnano tra i 2000 e i 3000 euro. SELECT, Stipendio FRO Docente WHERE Stipendio BETWEEN 2000 AND 3000 atricola DIN001 DIN002 DIN003 A. A. B. B. C. C. Telefono Stipendio A. A. C. C. Stipendio

28 BETWEEN e NOT BETWEEN Visualizzare il nome e lo stipendio degli insegnanti che NON guadagnano tra i 1000 e i 1500 euro SELECT, Stipendio FRO Docente WHERE Stipendio NOT BETWEEN 1000 AND 1500 atricola DIN008 DIN009 DIN003 A. H. B. Y. C. C. Telefono Stipendio A. H. C. C. Stipendio

29 IN e NOT IN Un altro modo per selezionare righe SELECT Attributo FRO Tabella WHERE Attributo IN [NOT IN] (Valori) Valori separati da, Visualizzare la matricola, il nome e la città degli studenti che vivono a, Venezia o Padova. SELECT atricola,, Citta FRO Studente t WHERE Citta IN (, Venezia, Padova );

30 IS NULL e IS NOT NULL Per selezionare le righe che hanno un attributo NULL (o NOT NULL) SELECT Attributo FRO Tabella WHERE Attributo IS NULL (IS NOT NULL) Visualizzare tutte le informazioni degli insegnamenti che hanno un valore NULL per il numero di crediti SELECT * FRO Insegnamento WHERE Numero_crediti IS NULL

31 Per visualizzare i dati stabilendo un ordine SQL permette di specificare un eventuale ordinamento delle righe del risultato di una interrogazione. Tale ordinamento è specificato tramite la clausola ORDER BY, con la quale si chiude l interrogazione. ORDER BY AttrDiOrdinamento [DESC ASC] {,AttriDiOrdinamento [DESC ASC] } Default

32 Esempio 11 Visualizzare, ordinati per stipendio, il nome e il numero di telefono dei docenti SELECT, Telefono FRO Docente ORDER BY Stipendio

33 Esempio 11: risultato t atricola Telefono Stipendio DIN001 A. A DIN002 B. B DIN003 C. C B. B. A. A. C. C. Telefono

34 Esempio 12 Visualizzare in ordine alfabetico il nome degli studenti che abitano a SELECT FRO Studente WHERE Citta= ORDER BY Bianchi Luca Neri aria Rossi arco Verdi Paolo

35 Esempio 12 Visualizzare il nome e la città degli studenti aschi ordinati per città e per nome SELECT, Citta FRO Studente WHERE Sesso = ORDER BY Citta, Gialli ario Bianchi Luca Rossi arco Verdi Paolo Citta Padova eo

36 Operatori di Aggregazione Vengono applicati ad un insieme i di tuple. Prima viene normalmente eseguita l interrogazione, considerando solo le parti FRO e WHERE. L operatore aggregato viene poi applicato alla tabella contenente il risultato dell interrogazione. Due gruppi: COUNT AX, IN, AVG, SU Quando come argomento della SELECT compaiono delle funzioni aggregate, allora non possono comparire espressioni che usano (e riportano nel risultato) i valori presenti nelle tuple singole. Ad esempio se conto le tuple con COUNT, non è poi possibile riportare nella SELECT il valore di un attributo insieme al risultato del COUNT.

37 COUNT Permette di contare il numero di tuple COUNT (<* [ DISTINCT ALL ] ListaAttributi>) Restituisce il numero di righe Restituisce i il numero di combinazioni diverse considerando i valori degli attributi in ListaAttributi Restituisce il numero di righe che possiedono valori diversi da NULL per gli attributi in ListaAttributi

38 Esempio 13 Quanti corsi ci sono nella tabella Corso? SELECT COUNT(*) FRO Insegnamento Considera i valori NULL SELECT COUNT(Codice) FRO Insegnamento Codice INF01 INF02 INF03 _ins Lab Basi Dati Analisi I Fisica I COUNT(*) 3 Numero_crediti 2 3 3

39 Esempio 13bis Quante misure in crediti troviamo sui corsi? SELECT COUNT(Numero_crediti) FRO Insegnamento Considera i valori non nulli Considera i valori non nulli distinti SELECT COUNT(DISTINCT Numero_crediti) FRO Insegnamento Codice INF01 INF02 INF03 _ins Lab Basi Dati Analisi I Fisica I Numero_crediti null 3 3 COUNT(Numero_crediti) COUNT(DISTINCT Numero_crediti) 2 1

40 Esempio 14 Da quante città diverse provengono gli studenti? SELECT COUNT(DISTINCT Citta) FRO Studente t atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z COUNT(DISTINCT Citta) 2

41 Esempio 15 Visualizzare le città di provenienza degli studenti SELECT DISTINCT Citta FRO Studente t atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z Citta Padova

42 SU, AX, IN, AVG SU restituisce la somma dei valori posseduti dall attributoattributo su tutte le righe AX e IN restituiscono rispettivamente il massimo e il minimo i valore tra quelli di ciascuna riga (DISTINCT e ALL non hanno effetto) AVG restituisce la media dei valori dell attributo

43 SU, AX, IN, AVG Ammettono come argomento un attributo o un espressione espressione, eventualmente preceduta dalla parola chiave DISTINCT o ALL. < SU AX IN AVG >([ DISTINCT ALL ] AttrEspr) Elimina i duplicati Trascura solo i valori nulli

44 Esempio 16 Trovare lo stipendio massimo degli insegnanti SELECT AX(Stipendio) FRO Docente atricola Telefono Stipendio DIN001 A. A DIN002 B. B DIN003 C. C AX(Stipendio) 3000

45 Esempio 17 Trovare lo stipendio minimo degli insegnanti SELECT IN(Stipendio) AS Stipinimo FRO Docente atricola Telefono Stipendio DIN001 A. A DIN002 B. B DIN003 C. C Stipinimo i 1900

46 Esempio 18 Trovare la somma degli stipendi di tutti gli insegnanti che guadagnano più di 2000 euro SELECT SU(Stipendio) FRO Docente WHERE Stipendio > 2000 atricola Telefono Stipendio DIN001 A. A DIN002 B. B DIN003 C. C SU(Stipendio) 5500

47 Esempio 19 Trovare la media degli stipendi di tutti gli insegnanti che guadagnano g più di 2000 euro SELECT AVG(Stipendio) FRO Docente WHERE Stipendio > 2000 DIN001 A. A DIN002 B. B DIN003 C. C AVG(Stipendio) 2750

48 Interrogazioni con raggruppamento olto spesso sorge l esigenza di applicare l operatore aggregato g a sottoinsiemi di tuple. La clausola GROUP BY consente di specificare come dividere le tabelle in sottoinsiemi (gruppi), raggruppando le tuple che possiedono gli stessi valori in un insieme di attributi assegnato. SQL impone che in una interrogazione che fa uso della GROUP BY, possano comparire come argomento della SELECT solamente un sottoinsieme degli attributi ti utilizzato t per il raggruppamento delle righe e funzioni aggregate valutate sugli altri attributi.

49 GROUP BY Utilizzato t per organizzare i dati in gruppi Gli operatori di aggregazione vengono computati sui diversi gruppi SELECT ListaAttributi FRO Tabella WHERE Condizione GROUP BY Attributo1 Attributo usato per formare i gruppi

50 Esempio 20 Visualizzare il numero di studenti che provengono da città diverse (visualizzando anche la città) SELECT Citta, COUNT(*) FRO Studente t GROUP BY Citta

51 Esempio 20: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z Citta COUNT(*) 4 Padova 1

52 Esempio 21 Visualizzare il numero di studenti maschi e femmine SELECT Sesso, COUNT(*) FRO Studente GROUP BY Sesso

53 Esempio 21: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z Sesso F COUNT(*) 4 1

54 PREDICATI SU GRUPPI La clausola HAVING consente di descrivere le condizioni che si devono applicare al termine dell esecuzione di una interrogazione che fa uso della GROUP BY per selezionare i gruppi che andranno nel risultato dell interrogazione. Ogni gruppo G costruito dalla GROUP BY fa parte del risultato dell interrogazione solo se G soddisfa il predicato della clausola l HAVING.

55 PREDICATI SU GRUPPI: sintassi SELECT Attributo1 FRO Tabella [WHERE Condizione] i GROUP BY Attributo1 HAVING Predicato ORDER BY Attributo1

56 Esempio 22 Visualizzare le città in cui abitano almeno 2 studenti e il numero di studenti relativo SELECT Citta, COUNT(*) FRO Studente GROUP BY Citta HAVING COUNT(*)>=2

57 Esempio 22: risultato atricola Indirizzo Citta CAP Sesso VR0001 Rossi arco Via X VR0002 Neri aria Via W F VR0003 Verdi Paolo Via Y VR0004 Gialli ario Via K Padova VR0005 Bianchi Luca Via Z Citta COUNT(*) 4

58 Sintassi: sommario SELECT ListaAttributiOEspressioni FRO ListaTabelle [WHERE CondizioniSemplici] [GROUP BY ListaAttributiDiRaggruppamento] [HAVING CondizioniAggregate] ioniagg [ORDER BY ListaAttributiDiOrdinamento]

59 Join Per selezionare informazioni da due o più tabelle I nomi degli attributi devono essere specificati in modo non ambiguo (Tabella.Attributo) SELECT ListaAttributi FRO Tabella1, Tabella2 WHERE Tabella1.Attributo1 = Tabella2.Attributo2

60 Base di Dati usata negli esempi Studente atricola Indirizzo Citta CAP Sesso Insegnamento Codice _ ins Numero_ crediti Docente atricola Codice_ins Esame Anno_accademico Telefono InsErogato Studente Stipendio Voto Codice_ins Anno_accademico Insegnante Numero_studenti

61 Esempio 23 Trovare gli insegnamenti tenuti da ogni docente, riportando il codice dell insegnamento e il nome del docente SELECT Docente. AS Docente, InsErogato.Codice_ins FRO Docente, InsErogato WHERE Docente.atricola = InsErogato.Insegnante Docente atricola Telefono Stipendio Codice_insins Anno_accademico Insegnante InsErogato Numero_studenti

62 Esempio 23: risultato atricola Tlf Telefono Stipendio DIN001 A. A DIN002 B. B DIN003 C. C Codice_ins Anno_accademico Insegnante Numero_studenti INF /2006 DIN INF /2007 DIN INF /2007 DIN Risultato Docente A. A. Codice_ins INFO3 B. B. INF01 C. C. INF02

63 Esempio 25 Visualizzare i voti presi dagli studenti di SELECT, Codice_ins, Voto FRO Studente t s, Esame e WHERE s.atricola = e.studente AND s.citta= Studente (s) atricola Indirizzo Citta CAP Sesso Esame (e) Codice_ins Anno_accademico Studente Voto

64 Base di Dati usata negli esercizi (DB dell applicazione web di ateneo) InCorso CorsoStudi (0,N) (0,N) nomecorsostudi CorsoInFacoltà (1,1) annoaccademico InsErogato (1,1) (0,N) (1,1) discriminante InFacoltà modulo Erogazione discriminantemodulo (0,N) Facoltà (0,N) Insegn nomeins codiceins

65 DB dell applicazione web di ateneo L applicazione i per alimentare la base di dati è stata generata da uno strumento messo a punto dal Dipartimento di Informatica di ilano (ERW: Entity and Relationships on the Web, informazioni al sito Questo strumento genera in automatica da una descrizione XL dello schema concettuale in ER il codice che genera la base di dati in SQL standard. In tale traduzione il sistema sostituisce tutte le chiavi primarie con id numerici.

66 DB dell applicazione web di ateneo Insegn Id ins Codiceins InsErogato Id Id_corsostudi Id_insegn AnnoAccademico odulo odulo Id CorsoStudi corsostudi DurataAnni Sede Id Id_corsostudi di Id_facolta CorsoInFacolta Id Facolta

67 DB dell applicazione web di ateneo Schema relazionale delle relazioni usate in questa esercitazione: InsErogato(id, id_insegn, id_corsostudi, annoaccademico, modulo, nomemodulo*, crediti, programma*, id_facolta) Insegn(id, nomeins, codiceins) CorsoStudi(id, nomecorsostudi, sede, durataanni) CorsoInFacolta(id, id_corsostudi, id_facolta) Facolta(id, nome)

68 Esempio contenuto del DB id 2 11 anno accademico 2006/ /2007 id_corsostudi 1 1 id_insegn modulo nome modulo Teoria / Laboratorio crediti 10 8 id nomecorsostudi sede durata 1 Informatica 3 2 Bioinformatica 3 id nomeins codiceins 34 Basi di dati e Web SCI Programmazione SCI-123

69 DB dell applicazione web di ateneo psql h dbserver d didattica userlabxx

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

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 4 Base di Dati usata negli esercizi ( ateneo (DB dell applicazione web di InCorso (,N ) CorsoStudi (,N ) nomecorsostudi CorsoInFacoltà

Dettagli

Laboratorio di Basi di dati & Basi di dati per Bioinformatica

Laboratorio di Basi di dati & Basi di dati per Bioinformatica Laboratorio di Basi di dati & Basi di dati per Bioinformatica Docenti: Alberto Belussi & Carlo Combi Lezione 4 Base di Dati usata negli esercizi (DB dell applicazione web di ateneo) InCorso Erogazione

Dettagli

Docente: Alberto Belussi e Carlo Combi. Lezione 4

Docente: Alberto Belussi e Carlo Combi. Lezione 4 Laboratorio di Basidi Dati e Web Docente: Alberto Belussi e Carlo Combi Lezione 4 Base di Dati usata negli esercizi (DB dell applicazione web di ateneo) InCorso CorsoStudi (,N) (,N) nomecorsostudi CorsoInFacoltà

Dettagli

Laboratorio di Basi di dati/web/mm e Basi di dati per Bioinformatica

Laboratorio di Basi di dati/web/mm e Basi di dati per Bioinformatica /3/ Laboratorio di Basi di dati/web/mm e Basi di dati per Bioinformatica Docente: Alberto Belussi e Carlo Combi Lezione 4 Base di Dati usata negli esercizi (DB dell applicazione web di ateneo) InCorso

Dettagli

Laboratorio di Basi di dati

Laboratorio di Basi di dati Laboratorio di Basi di dati Docente: Alberto Belussi Lezione 4 Base di Dati usata negli esercizi ( ateneo (DB dell applicazione web di InCorso Erogazione CorsoStudi (,N ) (,) InsErogato (,) nome annoaccademico

Dettagli

Gestione dei valori nulli

Gestione dei valori nulli Gestione dei valori nulli La gestione dei valori nulli, a seconda dell implementazione, avviene attraverso una logica a due valori come in SQL-89, o a tre valori (vero, falso, unknown) come in SQL-2. In

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

<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

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

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

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

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

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

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

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

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

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

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 Esercizi DML Blocco 1

SQL Esercizi DML Blocco 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,

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

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

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

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

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

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

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

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

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

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

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

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

Linguaggio SQL: fondamenti D B M G

Linguaggio SQL: fondamenti D B M G Linguaggio SQL: fondamenti Istruzione SELECT: fondamenti Cenni di algebra relazionale Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2 Algebra relazionale

Dettagli

Operazioni sui dati. Interrogazioni con operatori aggregati. Capitolo 4

Operazioni sui dati. Interrogazioni con operatori aggregati. Capitolo 4 Operazioni sui dati Interrogazioni con operatori aggregati Ordinamento del risultato Nome e reddito delle persone con meno di trenta anni in ordine alfabetico select nome, reddito from persone where eta

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

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

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

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

Il linguaggio SQL: raggruppamenti

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

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo LB (SQL) 5 - Aggregazione e raggruppamento Prerequisiti Conteggio e somma degli elementi di un insieme numerico Massimo, minimo e media di un insieme numerico Ordinamento

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

Gestione di basi di dati relazionali con SQL (parte II) Valutazione delle condizioni su insiemi di tuple

Gestione di basi di dati relazionali con SQL (parte II) Valutazione delle condizioni su insiemi di tuple Gestione di basi di dati relazionali con SQL (parte II) Gian Pietro Picco Dipartimento di Elettronica e Informazione Politecnico di Milano, Italy picco@elet.polimi.it http://www.elet.polimi.it/~picco Valutazione

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

Il linguaggio SQL: raggruppamenti

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

Dettagli

Operatori aggregati. Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella

Operatori aggregati. Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella Operatori aggregati Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella e ha come risultato un valore atomico. Count Questo operatore serve per contare le tuple di

Dettagli

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F;

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F; 54 Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F; dove R 1, R 2,..., R k è una lista di nomi distinti di relazioni R i1.c 1, R

Dettagli

Interrogazioni. L istruzione base per le interrogazioni è select

Interrogazioni. L istruzione base per le interrogazioni è select Interrogazioni L istruzione base per le interrogazioni è select select ListaAttributi (target list) from ListaTabelle (clausola from) [ where Condizione ] (clausola where) Più in dettaglio: select AttrEspr

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

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

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

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 Trovare il codice e il numero di soci dei fornitori

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

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

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

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

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Raggruppamento. Raggruppamento INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : SQL (4) GROUPING Atzeni, cap. 4.3.4 DBMS: SQL (4) GROUPING 26 nov 2010 Dia 2 Gli operatori

Dettagli

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti Il linguaggio SQL: raggruppamenti Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLb-gruppi.pdf Sistemi Informativi L-A Informazioni di sintesi

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. 2007/2008 Interrogazioni con raggruppamento E possibile

Dettagli

Operazioni su insiemi: unione, intersezione e differenza

Operazioni su insiemi: unione, intersezione e differenza Operazioni su insiemi: unione, intersezione e differenza Unione La select da sola non permette di fare unioni; serve un costrutto esplicito: select union [all] select... i duplicati vengono eliminati (a

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

Esempi di Query con Aggregazioni in SQL/1

Esempi di Query con Aggregazioni in SQL/1 Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Esempi di Query con Aggregazioni in SQL/1 Credits to: Prof. P. Ciaccia UniBO DB di riferimento per gli esempi AziendaSW Imp CodImp

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

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

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

Join esplicito. SELECT con join esplicito, sintassi. Ulteriore estensione: join naturale (meno diffuso) Outer join. Join esterno: "outer join"

Join esplicito. SELECT con join esplicito, sintassi. Ulteriore estensione: join naturale (meno diffuso) Outer join. Join esterno: outer join Join esplicito Padre e madre di ogni persona select paternita.figlio,padre, madre, paternita where paternita.figlio = maternita.figlio SELECT con join esplicito, sintassi SELECT FROM Tabella { JOIN Tabella

Dettagli

Query. Query (Interrogazioni) SQL SQL. Sintassi. Interrogazioni in SQL

Query. Query (Interrogazioni) SQL SQL. Sintassi. Interrogazioni in SQL Ultima modifica: 11/03/2010 SQL Anno accademico 2009/2010 Query (Interrogazioni)! È necessario un modo per interrogare le basi di dati, cioè per estrarre conoscenza! Per reperire le informazioni di interesse

Dettagli

Interrogazioni di tipo insiemistico. Select. Interrogazioni di tipo insiemistico. Interrogazioni nidificate

Interrogazioni di tipo insiemistico. Select. Interrogazioni di tipo insiemistico. Interrogazioni nidificate Select La sintassi di select cui siamo arrivati dopo le estensioni viste è quindi: SelectSQL ::= select ListaAttributiOEspressioni from ListaTabelle [ where CondizioniSemplici ] [ group by ListaAttributiDiRaggruppamento]

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

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

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

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

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base Linguaggio SQL: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2007 Politecnico di Torino 1 Istruzione SELECT: esempio Trovare il codice

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

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

Progettazione di Sistemi Informatici

Progettazione di Sistemi Informatici Progettazione di Sistemi Informatici Raggruppamenti Domenico Diacono Corso ADM Gennaio 2008 A che punto siamo Finora abbiamo estratto dal DB informazioni relative a singole ennuple, eventualmente ottenute

Dettagli

Operatori aggregati: COUNT

Operatori aggregati: COUNT Operatori aggregati: COUNT Il numero di figli di Franco select count(*) as NumFigliDiFranco from Paternita where Padre = 'Franco' l operatore aggregato (count) viene applicato al risultato dell interrogazione:

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

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

SQL terza parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2010/11

SQL terza parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2010/11 SQL terza parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2010/11 Operatori aggregati Costituiscono una estensione delle normali interrogazioni SQL (non hanno corrispondenza in

Dettagli

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

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,

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

Interrogazioni Interrogazioni in SQL } L'istruzione base dell'sql per costruire interrogazioni di complessita arbitraria e lo statement SELECT } Sinta

Interrogazioni Interrogazioni in SQL } L'istruzione base dell'sql per costruire interrogazioni di complessita arbitraria e lo statement SELECT } Sinta Interrogazioni } L'istruzione base dell'sql per costruire interrogazioni di complessita arbitraria e lo statement SELECT } Sintassi di base: SELECT [DISTINCT ALL] FROM [WHERE

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

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database.

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database. 4.SQL QUERY >definizione A cura di: Celora Luca Fare una query significa fare delle ricerche sul nostro database. >strumenti da usare SELECT //sceglie le colonne da visualizzare FROM //indica da quali

Dettagli

Esercitazione 2 SQL.

Esercitazione 2 SQL. Esercitazione 2 SQL foglia@iet.unipi.it DB Riferimento Consideriamo i seguenti schemi di una base di dati relazionale: DIPARIMENTI(CodiceDipartimento, Nome, Indirizzo, Citta, NumeroDipendenti, CostiTotaliAnnui,

Dettagli

Consideriamo lo schema relazionale

Consideriamo lo schema relazionale Andrea Gasparetto Consideriamo lo schema relazionale Sulle stringhe WHERE Expr LIKE pattern Il pattern può contenere caratteri e i simboli speciali % sequenza di 0 o più caratteri qualsiasi _ un carattere

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

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

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

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 SQL SQL (pronunciato anche come l inglese

Dettagli

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

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

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

SQL: RAGGRUPPAMENTI, QUANTIFICAZIONE, METODO. Patrizio Dazzi a.a SQL: RAGGRUPPAMENTI, QUANTIFICAZIONE, METODO Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Prove in itinere Primo compitino il 6 novembre Secondo compitino il 19 dicembre Homeworks Poche consegne del II

Dettagli

Corso di Informatica Linguaggio SQL seconda parte

Corso di Informatica Linguaggio SQL seconda parte Corso di Informatica Linguaggio SQL seconda parte Anno Accademico 2018-2019 Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle clausole WHERE e HAVING Costruite con gli operatori di confronto:

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 4 SQL : Structured Query Language Tiziana Catarci Ultimo aggiornamento : 22/02/2016 SQL : Structured

Dettagli

SQL - Sottointerrogazioni

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)

Dettagli

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa BASE DI DATI Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste Informatica Umanistica Università di Pisa Corsi T Esami T codice CHAR(3) titolo VARCHAR(20) PK Numeri T corso CHAR(3)

Dettagli

Le implementazioni nei vari DBMS relazionali commerciali

Le implementazioni nei vari DBMS relazionali commerciali Andrea Gasparetto Le implementazioni nei vari DBMS relazionali commerciali includono funzionalità non previste dallo standard non includono funzionalità previste dallo standard implementano funzionalità

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

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

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

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

Dettagli