Elena Baralis, Claudio Demartini

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elena Baralis, Claudio Demartini"

Transcript

1 Basi di dati relazionali Relazionali - Parte I Introduzione Il linguaggio SQL: definizione dei dati manipolazione dei dati 1 2 DB prodotti-fornitori DB prodotti-fornitori S P S# SNAME STATUS CITY Clark S5 Adams Athens P# PNAME COLOR WEIGHT CITY Bolt Green P3 Rome Cam SP S# P# P3 QTY modello relazionale: tabella prodotti tabella fornitori tabella forniture, che mette in relazione prodotti e fornitori che li forniscono chiave primaria: identificatore del record prodotti: P# fornitori: S# forniture: (S#,P#) 3 4 Manipolazione dei dati 5 Esempio: Ricavare i codici e lo stato dei fornitori nella città di Parigi SELECT S#, STATUS FROM S WHERE CITY='Parigi'; Il risultato è una tabella S# STATUS Manipolazione dei dati 6 Formato generale dell'interrogazione: SELECT [DISTINCT] colonna(e) FROM tabella(e) [WHERE predicato] [GROUP BY colonna(e) [HAVING predicato]] [ORDER BY colonna(e)]; Esempio: SELECT P# FROM SP; I duplicati non vengono eliminati P# P3 Basi di dati relazionali - parte I ~1~

2 SELECT con DISTINCT SELECT Eliminazione dei duplicati: SELECT DISTINCT P# FROM SP; Estrazione di tutte le informazioni: SELECT * FROM S; P# P3 Identificatori completamente specificati: SELECT SS#, SNAME, SSTATUS, SCITY FROM S; 7 8 SELECT (cont) Ricerca con Ordinamento Ricerca qualificata: Individuare i numeri dei fornitori di Parigi con stato > SELECT S# FROM S WHERE CITY='' AND STATUS>; S# Ricavare i codici e lo stato dei fornitori di Parigi in ordine decrescente rispetto allo stato: SELECT S#, STATUS FROM S WHERE CITY='' ORDER BY STATUS DESC; S# STATUS nome-colonna[ordine][,nome-colonna [ordine]] 9 JOIN Interrogazione che ricerca un insieme di dati in due o più tabelle Equijoin semplice: Ricavare tutte le combinazioni di informazioni riguardanti fornitori e parti in modo che entrambi appartengano alla stessa città SELECT S*,P* WHERE SCITY=PCITY; Identificatori completamente espressi per evitare ambiguità 11 JOIN Esecuzione del prodotto cartesiano delle tabelle elencate: questo da origine ad una tabella risultante composta da tutte le possibili righe r dove r è la concatenazione di una riga della prima tabella, una della seconda una della ennesima tabella; da tale tabella vengono eliminate tutte le righe che non soddisfano la condizione espressa in WHERE Basi di dati relazionali - parte I ~2~

3 JOIN: Esempio JOIN: Risultato S# SNAME STATUS SCITY P# PNAME COLOR WEIGHT PCITY S# SNAME STATUS SCITY P# PNAME COLOR WEIGHT PCITY S5 Adams Athens P3 Bolt Cam Green Rome Clark Clark Clark Bolt Cam Bolt Cam Green Green 13 JOIN: Osservazioni Il costrutto sintattico indica le due tabelle da collegare e la condizione esprime la connessione tra di esse (città uguali) S# SNAME STATUS CITY P# PNAME COLOR WEIGHT CITY Natural JOIN Natural join: provoca l'eliminazione di una delle due colonne 'CITY' Equivale a: SELECT S#, SNAME, STATUS, SCITY, P#, PNAME, COLOR, WEIGHT WHERE SCITY=PCITY; S# SNAME STATUS CITY P# PNAME COLOR WEIGHT PCITY Theta JOIN Ricava tutte le combinazioni di fornitori e prodotti tali che la città del fornitore segue la città del prodotto in ordine alfabetico: SELECT S*,P* WHERE SCITY>PCITY; Theta JOIN: esempio SELECT S*,P* WHERE SCITY>PCITY; S# SNAME STATUS SCITY P# PNAME COLOR WEIGHT PCITY 18 Basi di dati relazionali - parte I ~3~

4 JOIN con predicati vari JOIN: esempio Ricavare tutte le combinazioni di fornitori e parti in cui i fornitori e le parti relative sono della stessa città, tralasciando i fornitori con stato= S# SNAME STATUS SCITY P# PNAME COLOR WEIGHT PCITY SELECT S*,P* WHERE SCITY=PCITY AND SSTATUS<>; Bolt Cam Bolt Cam Green Green JOIN di 3 tabelle JOIN: campi specifici Ricavare tutte le coppie di nomi di città tali che un fornitore della prima città fornisca una parte immagazzinata nella seconda: SELECT DISTINCT SCITY,PCITY FROM S,SP,P WHERE SS#=SPS# AND SPP#=PP#; Si noti l'uso di DISTINCT SCITY PCITY Rome Individuare tutti i codici dei fornitori combinati in modo tale che la parte ed il fornitore appartengano alla stessa città SELECT SS#,PP# WHERE SCITY=PCITY; S# P# JOIN di una tabella con se stessa Individuare tutte le coppie di fornitori tali che i due fornitori appartengano alla stessa città SELECT FIRSTS#,SECONDS# FROM S FIRST,S SECOND WHERE FIRSTCITY=SECONDCITY AND FIRSTS#<SECONDS#; Questa operazione si basa sul join della tabella S con se stessa (fatta sulle città uguali) La tabella S compare due volte in FROM 23 S# S# Funzioni aggregate COUNT: conta gli elementi in una colonna SUM: somma dei valori in una colonna AVG: media dei valori di una colonna MAX: massimo valore in una colonna MIN: minimo valore in una colonna SUM e AVG agiscono su valori numerici L'argomento della funzione può essere preceduto da DISTINCT COUNT(*) conta le righe di una tabella 24 Basi di dati relazionali - parte I ~4~

5 Funzioni aggregate Funzioni aggregate Esempi: conteggio delle tuple in S: SELECT COUNT(*) FROM S; uso di DISTINCT: SELECT COUNT(DISTINCT S#) FROM SP; numero di forniture del prodotto : SELECT COUNT(*) FROM SP WHERE P#=''; Ricavare la quantità totale di prodotti forniti SELECT SUM(QTY) FROM SP WHERE P#=''; 00 Uso di GROUP BY: calcolare la quantità fornita per ogni prodotto SELECT P#,SUM(QTY) FROM SP GROUP BY P#; P# P HAVING Ricavare i codici delle parti fornite da più di un fornitore SELECT P# FROM SP GROUP BY P# HAVING COUNT(*)>1; P# Having è per Group by ciò che Where è per le righe della tabella Interrogazione con sottointerrogazione Una sottointerrogazione è una interrogazione annidata in un'altra interrogazione Viene introdotta dal predicato IN Prima si valuta l'interrogazione interna, poi quella esterna Esempio: trovare i nomi dei fornitori che forniscono il prodotto WHERE S# IN (SELECT S# FROM SP WHERE P#=''); SNAME Clark Interrogazione con sottointerrogazione La precedente interrogazione è equivalente al seguente join: SELECT SSNAME FROM S,SP WHERE SS#=SPS# AND SPP#='': Per la base di dati dell'esempio, si può anche scrivere l'interrogazione utilizzando un set predefinito: WHERE S# IN ('','','',''); Interrogazioni annidate Trovare i nomi dei fornitori che forniscono almeno un prodotto rosso WHERE S# IN (SELECT S# FROM SP WHERE P# IN (SELECT P# FROM P WHERE COLOR='')); SNAME Clark 29 Basi di dati relazionali - parte I ~5~

6 Interrogazioni annidate Interrogazioni annidate Trovare il codice dei fornitori che operano nella stessa città di '' SELECT S# FROM S WHERE CITY = (SELECT CITY FROM S WHERE S#=''); S# Se è noto a priori che il valore restituito è unico, è possibile usare = o > al posto di IN Ricavare i codici dei fornitori il cui stato è minore del valore massimo attualmente presente nella tabella SELECT S# FROM S WHERE STATUS < (SELECT MAX(STATUS) FROM S); S# Interrogazione con EXISTS Ricavare i nomi dei fornitori che forniscono il prodotto '' WHERE EXISTS (SELECT * FROM SP WHERE S# = SS# AND P# = ''); L'espressione EXISTS (SELECT * FROM ) è vera se e solo se il risultato della SELECT è diverso dall'insieme vuoto 33 Interrogazione con EXISTS Equivalente a: Selezionare i nomi dei fornitori per i quali esiste una fornitura, qualunque essa sia, relativa al prodotto indicato Per valutare il funzionamento: Considerare ogni valore di SNAME a turno e valutare se il test successivo è vero o falso Es SNAME='',(S#=): il set di record di SP, caratterizzati da S#= e P#= è vuoto?, Se no, ciò implica l'esistenza di un record con S#= e P#=, pertanto è uno dei valori da restituire Parafrasando: selezionare i nomi dei fornitori tali che esista una fornitura relativa al prodotto 34 NOT EXISTS NOT IN Ricavare i nomi dei fornitori che non forniscono il prodotto '' Ricavare i nomi dei fornitori che non forniscono il prodotto '' (SELECT * FROM SP WHERE S# = SS# AND P# = ''); SNAME WHERE S# NOT IN (SELECT S# FROM SP WHERE P# = ''); Adams Basi di dati relazionali - parte I ~6~

7 NOT EXISTS NOT EXISTS Trovare i nomi dei fornitori che forniscono tutti i prodotti: (SELECT * FROM P (SELECT * FROM SP WHERE S# = SS# AND P# = PP#)); 37 Trovare i codici dei fornitori che forniscono almeno tutti i prodotti forniti da La ricerca è frazionabile in passi successivi: 1 Trovare tutti i codici dei prodotti forniti dal fornitore SELECT P# FROM SP WHERE S# = ''; 2 Con CREATE TABLE e INSERT si possono salvare tali dati in una tabella TEMP 2 Successivamente si cercano tutti i fornitori che forniscono tali prodotti 38 NOT EXISTS NOT EXISTS: Soluzione finale SELECT DISTINCT S# FROM SP SPX (SELECT * FROM TEMP (SELECT * FROM SP SPZ WHERE SPZS# = SPXS# AND SPZP# = TEMPP#)); SELECT DISTINCT S# FROM SP SPX (SELECT * FROM SP SPY WHERE S#= AND NOT EXISTS (SELECT * FROM SP SPZ WHERE SPZS# = SPXS# AND SPZP# = SPYP# )); UNION UNION A UNION B, dove A e B sono insiemi è l'insieme degli oggetti tali che se x appartiene ad A o appartiene a B o appartiene ad entrambi, x appartiene a (A UNION B) Le repliche vengono eliminate Ricavare i codici dei prodotti che o pesano più di 16 o sono forniti dal fornitore, o entrambe le cose: SELECT P# FROM P WHERE WEIGHT > 16 UNION SELECT P# FROM SP WHERE S# = ''; Basi di dati relazionali - parte I ~7~

8 DB Prodotti Fornitori Progetti S# SNAME STATUS CITY S J J# JNAME CITY Clark S5 Adams Athens J1 Sorter J2 Punch Rome J3 Reader Athens J4 Console Athens J5 Collator J6 Terminal Oslo P P# PNAME COLOR WEIGHT CITY J7 Tape Bolt Green P3 Rome Cam 43 DB Prodotti Fornitori Progetti SPJ S# P# J# QTY J1 0 J4 700 P3 J1 400 P3 J2 0 P3 J3 0 P3 J4 500 P3 J5 600 P3 J6 400 P3 J7 800 J2 0 P3 J1 0 J2 500 J3 0 J7 0 S5 J2 0 S5 J4 0 S5 J5 500 S5 J7 0 S5 J2 0 S5 J4 0 S5 P3 J4 0 S5 J4 800 S5 J4 400 S5 J Esercizi 45 Trovare i codici dei fornitori che forniscono il progetto J1 ordinati in ordine crescente di codice fornitore SELECT DISTINCT S# FROM SPJ WHERE J# = 'J1' ORDER BY S#; Ricavare l'elenco di tutte le combinazioni colore/città dalla tabella prodotti, eliminando le repliche SELECT DISTINCT COLOR, CITY FROM P; 46 Trovare i codici dei prodotti forniti da fornitori di Londra SELECT DISTINCT P# FROM SPJ, S WHERE SS# = SPJS# AND CITY = ''; Trovare le coppie di città tali che un fornitore nella prima fornisca un progetto nella seconda SELECT DISTINCT SCITY, JCITY FROM S, J, SPJ WHERE SS# = SPJS# AND SPJJ# = JJ#; Trovare i codici dei prodotti forniti a qualsiasi progetto da un fornitore nella stessa città di quel progetto SELECT DISTINCT P# FROM S, J, SPJ WHERE SS# = SPJS# AND JJ# = SPJJ# AND SCITY = JCITY; Basi di dati relazionali - parte I ~8~

9 Trovare il numero totale di progetti forniti da SELECT COUNT (DISTINCT J#) FROM SPJ WHERE S# = ''; Trovare la quantità totale di prodotti forniti dal fornitore SELECT SUM(QTY) FROM SPJ WHERE P# ='' AND S# = ''; Per ogni prodotto fornito ad un progetto, trovare il codice del prodotto, il codice del progetto e la corrispondente quantità complessiva fornita SELECT P#, J#, SUM(QTY) FROM SPJ GROUP BY P#, J#; Trovare i codici dei prodotti forniti in quantità media superiore a 3 SELECT P# FROM SPJ GROUP BY P# HAVING AVG(QTY) > 3; Esercizi Trovare i nomi dei progetti forniti dal fornitore SELECT DISTINCT JNAME FROM J WHERE J# IN (SELECT J# FROM SPJ WHERE S# = ''); Trovare i codici dei progetti le cui città sono caratterizzate da una O come seconda lettera SELECT J#, CITY FROM J WHERE CITY LIKE '_O%'; Trovare i colori dei prodotti forniti dal fornitore SELECT DISTINCT COLOR FROM P WHERE P# IN (SELECT P# FROM SPJ WHERE S# = ''); Trovare i codici dei prodotti forniti a progetti di Londra SELECT DISTINCT P# FROM SPJ WHERE J# IN (SELECT J# FROM J WHERE CITY = ''); Basi di dati relazionali - parte I ~9~

10 Trovare i codici dei progetti che usano almeno un prodotto disponibile presso il fornitore SELECT DISTINCT J# FROM SPJ WHERE P# IN (SELECT P# FROM SPJ WHERE S# = ''); Trovare i codici dei progetti la cui città è prima nell'elenco in ordine alfabetico delle città SELECT J# FROM J WHERE CITY = (SELECT MIN(CITY) FROM J); Trovare i codici dei progetti forniti con prodotti in quantità media maggiore della massima quantità con cui viene rifornito il progetto J1 SELECT J# FROM SPJ WHERE P# = '' GROUP BY J# HAVING AVG(QTY) > (SELECT MAX(QTY) FROM SPJ WHERE J# = 'J1'); Trovare i codici dei fornitori con stato inferiore a quello del fornitore SELECT S# FROM S WHERE STATUS < (SELECT STATUS FROM S WHERE S# = ''); Trovare i codici dei fornitori che forniscono almeno un prodotto fornito da almeno un fornitore che fornisce almeno un prodotto rosso SELECT DISTINCT S# FROM SPJ WHERE P# IN (SELECT P# FROM SPJ WHERE S# IN (SELECT S# FROM SPJ WHERE P# IN (SELECT P# FROM P WHERE COLOR = ''))); Trovare i codici dei fornitori che forniscono almeno un progetto con prodotti in quantità maggiore della quantità media delle forniture di prodotti per quel progetto SELECT DISTINCT S# FROM SPJ SPJX WHERE P# = '' AND QTY > (SELECT AVG(QTY) FROM SPJ SPJY WHERE P# ='' AND SPJYJ# = SPJXJ#); Basi di dati relazionali - parte I ~~

Basi di Dati Relazionali - Parte I

Basi di Dati Relazionali - Parte I Pagina 1 Relazionali - Parte I Pagina 2 Basi di dati relazionali Introduzione Aspetti relativi al prodotto DB2 (IBM) basato sul modello relazionale Il linguaggio SQL: definizione dei dati manipolazione

Dettagli

Basi di Dati. Politecnico di Torino CeTeM. Modello relazionale. Basi di Dati (9023N) Tutore: Bartolomeo Montrucchio 18 giugno 2000

Basi di Dati. Politecnico di Torino CeTeM. Modello relazionale. Basi di Dati (9023N) Tutore: Bartolomeo Montrucchio 18 giugno 2000 Modello relazionale (9023N) Tutore: Bartolomeo Montrucchio 18 giugno 2000 Strutture dati relazionali Modello relazionale Regole di integrità Algebra relazionale Elena Baralis Claudio Demartini a.a. 1999/2000

Dettagli

Basi di Dati Relazionali - Parte II

Basi di Dati Relazionali - Parte II Pagina 1 Relazionali - Parte II II Pagina 2 Basi di dati relazionali Esempi di interrogazioni Le viste Il catalogo di sistema Embedded SQL Pagina 3 DB Parti Fornitori Progetti E` data la seguente base

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

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

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

Interrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL

Interrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL Interrogazioni con ANY e ALL Operatori ANY e ALL Sintassi: WHERE Attributo OperatoreConfronto [ANY ALL] (SelectAttributoSingolo) ANY: la riga soddisfa la condizione se risulta vero il confronto con almeno

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna  Pag.1 Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare

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

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Query in SQL Anno accademico 2016-2017 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina, Daniele Riboni e Sergio

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

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

Argomenti della lezione. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Argomenti della lezione Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Maternità Paternità Madre Luisa Luisa Anna Anna Maria Maria Padre Sergio

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

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

<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

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

SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali SQL: Structured Query Language 1 SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali Standard: SQL-84, SQL-89, SQL-92 (o SQL2), SQL:1999 (o SQL3) (ANSI/ISO) SQL-92:

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

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

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

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

Tipi di sottoquery SQL

Tipi di sottoquery SQL Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS

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

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

Business Intelligence

Business Intelligence Business Intelligence Esercitazione di Laboratorio N. 1 L esercitazione ha come obiettivo l interrogazione di una base di dati relazionale mediante query SQL su un DBMS Oracle XE. Schema logico della basi

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

Esempi SQL con Access. Orazio Battaglia

Esempi SQL con Access. Orazio Battaglia con Access Orazio Battaglia Consideriamo la base di dati in figura. 2 Interrogazione 1: Selezioniamo tutti gli impiegati, vogliamo Cognome, Nome e Posizione SELECT Impiegati.Cognome, Impiegati.Nome, Impiegati.Posizione

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

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni

Dettagli

Basi di Dati Relazionali - Parte III

Basi di Dati Relazionali - Parte III Relazionali - Parte III 1 Basi di dati relazionali Le viste Il catalogo di sistema Cenni ai trigger 2 DB Parti Fornitori Progetti E` data la seguente base di dati: fornitori: S (S#, SNAME, STATUS, CITY)

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

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

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non

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

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

Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007 Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007 La sintassi dei comandi T-SQL non è rigorosa, poiché permette di ottenere lo stesso risultato con diversi combinazioni di argomenti.

Dettagli

OPERATORI LOGICI: AND, OR, NOT

OPERATORI LOGICI: AND, OR, NOT Esempi di Queries(interrogazioni): SELECT Nome, Cognome FROM Persone WHERE id = 1 SELECT Nome, Cognome FROM Persone WHERE Nome = Luigi SELECT * FROM Persone WHERE Nome = Luigi ( * = visualizza tutti i

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

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 Language Soluzione Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 19/03/2016

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

ISBN Titolo CasaEd AnnoEd

ISBN Titolo CasaEd AnnoEd SQL Un esempio Si consideri il seguente schema relazionale Catalogo ( ISBN, Titolo, CasaEd, AnnoEd) Supponiamo che interessi conoscere il titolo e la casa editrice dei libri pubblicati nel 2001 1. consultare

Dettagli

Laboratorio di. Docenti: Alberto Belussi e Carlo Combi

Laboratorio di. Docenti: Alberto Belussi e Carlo Combi Laboratorio di Basi di dati/basi i di dati per Bioinformatica Docenti: Alberto Belussi e Carlo Combi Lezione 3 Interrogazioni i SQL Le interrogazioni i i SQL hanno la seguente struttura: SELECT

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

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

3. Selezionare i nomi dei clienti che iniziano con le lettere P, Q, R, S Esercitazione di SQL Corso di Basi di Dati 1. Visualizzare i clienti in ordine alfabetico select * order by nomesocietà 2. Visualizzare i clienti che non hanno il fax where fax is null 3. Selezionare i

Dettagli

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

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

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

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

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

Basi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1. Università di Modena e Reggio Emilia Basi di dati (4) Docente: andrea.bulgarelli@gmail.com Argomento: select (1.0) 1 Panoramica Select Joins Subquery Wildcard Esempi 2 SELECT SELECT [DISTINCT] [TOP n]

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

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale. Algebra relazionale Algebra relazionale Introduzione Selezione e proiezione Prodotto cartesiano e join Natural join, theta-join e semi-join Outer join Unione e intersezione Differenza e antijoin Divisione

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

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

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

D B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE

D B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti DB M B G Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE D B M G 2 DB M B G (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple D B M G 4 (2/3)

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

Lezione 6 SQL Basi di dati bis Docente Mauro Minenna Pag.1

Lezione 6 SQL Basi di dati bis Docente Mauro Minenna  Pag.1 Lezione 6 SQL Pag.1 Istanze di esempio vid vnome esperienza età 22 Dustin 7 45.0 29 Brutus 1 33.0 31 Lubber 8 55.5 32 Andy 8 25.5 58 Rusty 10 35.0 64 Horatio 7 35.0 71 Zorba 10 16.0 74 Horatio 9 35.0 85

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

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

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

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

D B M G D B M G 2. Sistemi informativi. Linguaggio SQL: costrutti avanzati

D B M G D B M G 2. Sistemi informativi. Linguaggio SQL: costrutti avanzati Sistemi informativi D B M G Linguaggio SQL: costrutti avanzati Gestione delle transazioni SQL per le applicazioni Controllo dell accesso Gestione degli indici D B M G 2 Pag. 1 2007 Politecnico di Torino

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

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