Queries su più tabelle
|
|
- Valentino Poletti
- 5 anni fa
- Visualizzazioni
Transcript
1 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 Postiglione Università degli Studi di Salerno Queries su più tabelle Per formulare un interrogazione su più tabelle, la clausola FROM dovrà contenere l elenco di tutte le tabelle coinvolte Sul prodotto cartesiano delle tabelle verranno applicate le condizioni contenute nella clausola WHERE # 2 Prof Alberto Postiglione Università Salerno 1
2 Come funziona una query su più tabelle Una Query su più tabelle si riduce ad una query su una sola tabella in quanto SQL effettua il prodotto cartesiano di tutte le tabelle coinvolte nella query Infatti, il Prodotto Cartesiano crea un unica, grande, tabella, data dal prodotto di quelle di partenza Su tale grande tabella si applicano le condizioni della clausola WHERE. Alla fine viene creata la tabella di risposta selezionando i campi presenti nella clausola SELECT Per avere la prova basta eseguire la seguente query: SELECT * FROM Impiegato, Dipartimento; # 3 Prof Alberto Postiglione Università Salerno Come funziona una query su più tabelle I1 I2 IMPIEGATO DIPARTIMENTO D1 D2 D3 D4 D5 # 4 Prof Alberto Postiglione Università Salerno 2
3 Come funziona una query su più tabelle Il numero totale di righe è il prodotto del numero delle righe presenti nelle tabelle input, cioè 40, in quanto Impiegato ha 8 righe Dipartimento ha 5 righe. Il numero totale di colonne è la somma del numero delle colonne nelle tabelle input, cioè 9, in quanto Impiegato ha 6 colonne Dipartimento ha 3 colonne. # 5 Prof Alberto Postiglione Università Salerno Operatore punto Per indicare gli attributi di ogni tabella si usa la notazione <Nome Tabella>.<attributo> E necessario utilizzare l operatore punto per identificare la tabelle da cui provengono i campi solo se c è ambiguità, cioè se nell interrogazione si fa riferimento a nomi presenti in più tabelle. In caso di assenza di ambiguità è possibile usare il solo nome del campo, senza dichiarare la tabella di appartenenza # 6 Prof Alberto Postiglione Università Salerno 3
4 Tabelle esempio: Impiegato/Dipartimento Impiegato (Nome, Cognome, Dipartimento, Ufficio, Stipendio annuo, Città) Impiegato Nome Anna Carlo Carlo Franco Giuseppe Lorenzo Marco Mario Cognome Bianco Bianchi Rossi Neri Verdi Gialli Franco Rossi Dipartimento Distribuzione Ufficio Stipendio annuo , , , , , , , ,00 Città Venezia Torino Napoli Roma Genova Roma Dipartimento (Nome, Indirizzo, Città) Nome Indirizzo Via Tito Livio, 27 Città Dipartimento Distribuzione Via Tito Livio, 2 Via Segre, 9 Roma P.le Lavater, 3 Torino Ricerca Via Venosa, 6 # 7 Prof Alberto Postiglione Università Salerno QUERY 23 - Tabelle Multiple Nome, Cognome e città di lavoro di tutti gli impiegati SELECT Impiegato.Nome, Impiegato.Cognome, Dipartimento.Città FROM Impiegato, Dipartimento WHERE Impiegato.Dipartimento = Dipartimento.Nome; NOME e COGNOME appartengono alla tabella IMPIEGATO Nome Anna Carlo Carlo Franco Giuseppe Lorenzo Marco Mario Cognome Bianco Bianchi Rossi Neri Verdi Gialli Franco Rossi Città Torino Roma Torino CITTA appartiene alla tabella DIPARTIMENTO # 8 Prof Alberto Postiglione Università Salerno 4
5 USO DI VARIABILI Atzeni, cap Uso di variabili Uso di ALIAS (Nomi alternativi) ALIAS: nome alternativo dato ad una tabella MOTIVAZIONI (Alias come Pseudonimo) Far riferimento ad una tabella evitando di scrivere per intero il suo nome ogni volta che ne viene richiesto l uso (Alias come nome di variabile) Far riferimento a più esemplari della stessa tabella, quando l interrogazione prevede di accedere in momenti successivi alla stessa tabella (quando per esempio una tabella va confrontata con se stessa) # 10 Prof Alberto Postiglione Università Salerno 5
6 QUERY 23bis - Alias su Tabelle Nome, Cognome e città di lavoro di tutti i dipendenti SELECT I.Nome, Cognome, D.Città FROM Impiegato AS I, Dipartimento AS D WHERE I.Dipartimento = D.Nome; Nome Anna Carlo Carlo Franco Giuseppe Lorenzo Marco Mario Cognome Bianco Bianchi Rossi Neri Verdi Gialli Franco Rossi Città Torino Roma Torino # 11 Prof Alberto Postiglione Università Salerno QUERY 24 - Variabili Nome, Cognome e Stipendio di chi guadagna più di Franco Neri. In questo caso la query corrisponde ad un confronto da effettuare all interno della stessa tabella. Dobbiamo assegnare due nomi (ALIAS) differenti alla stessa tabella, in modo da poter confrontare elementi appartenenti alla stessa tabella come se fossero due tabelle differenti. # 12 Prof Alberto Postiglione Università Salerno 6
7 QUERY 24 - Variabili SELECT FROM WHERE I2.Nome, I2.Cognome, I2.[Stipendio annuo] Impiegato I1, Impiegato I2 I1.Nome = Franco AND I1.Cognome = Neri AND I2.[Stipendio annuo] > I1.[Stipendio annuo] Nome Carlo Lorenzo Marco Cognome Rossi Gialli Franco Stipendio annuo , , ,00 # 13 Prof Alberto Postiglione Università Salerno OPERATORI AGGREGATI E INTERROGAZIONI CON RAGGRUPPAMENTO Atzeni, cap ,
8 Operatori Aggregati Una Query normalmente è applicata all intera tabella, ma ne analizza una riga per volta, estraendo tutte quelle che verificano le condizioni della WHERE Es: Si vuole conoscere il numero di matricola di tutti gli studenti che abitano a Napoli. Se ci sono 100 studenti di Napoli, la risposta sarà una tabella con 100 righe Una Query aggregata estrae un risultato che dipende da un insieme di righe. Il risultato è un valore che non è posseduto da una riga in particolare Es: Si vuole conoscere il numero di studenti che abitano a Napoli Se ci sono 100 studenti di Napoli, la risposta sarà il numero 100. # 15 Prof Alberto Postiglione Università Salerno Operatori Aggregati Le Queries con operatori aggregati sono delle estensioni delle normali interrogazioni Un interrogazione con un operatore aggregato viene eseguita in 2 momenti successivi: 1. (Selezione di righe) Viene prima eseguita la query considerando le parti FROM e WHERE, procedendo una riga alla volta selezionando quelle che rispondono alle condizioni della clausola Where. 2. (Applicazione della funzione sulle righe selezionate) Sulla tabella risultante viene poi applicato l operatore aggregato # 16 Prof Alberto Postiglione Università Salerno 8
9 QUERY 25 - COUNT Numero di Dipendenti del Dipartimento SELECT Count (*) FROM Impiegato WHERE Dipartimento= "; Expr # 17 Prof Alberto Postiglione Università Salerno QUERY 25bis - COUNT Numero di Dipendenti del Dipartimento (metodo alternativo) SELECT FROM WHERE Count ([Cognome]) Impiegato Dipartimento= "; Expr # 18 Prof Alberto Postiglione Università Salerno 9
10 QUERY 26 - COUNT ATTENZIONE: Count (<nome campo>) conta il numero di righe con valore NON NULLO del campo specificato, che non necessariamente corrisponde al numero di righe selezionate tramite la clausola WHERE Numero totale di Dipendenti SELECT Count (*) FROM Impiegato Expr # 19 Prof Alberto Postiglione Università Salerno QUERY 26 bis e 26ter - COUNT Numero totale di Dipendenti Alternativa num. 1 (26bis) SELECT Count (Cognome) FROM Impiegato Expr1000 Alternativa num. 2 (26ter) - ERRATA SELECT Count (Ufficio) FROM Impiegato 8 Ogni Dipendente (sia impiegato che dirigente) ha un Cognome Expr Ci sono alcuni dipendenti che non sono assegnati ad un ufficio (i dirigenti) # 20 Prof Alberto Postiglione Università Salerno 10
11 Operatori Aggregati FUNZIONI di aggregazione su un insieme di tuple COUNT SUM AVG Ammettono come argomento solo espressioni numeriche o di tempo MAX MIN Richiedono che sull espressione sia definito un ordinamento (per cui si possono applicare anche a Caratteri, ad esempio) # 21 Prof Alberto Postiglione Università Salerno QUERY 27 - SUM Somma degli stipendi del Dipartimento SELECT Sum ([Stipendio annuo]) AS [Stipendio Totale] FROM Impiegato WHERE Dipartimento=""; Stipendio Totale ,00 Si noti che per inserire uno spazio bianco nel nome di un campo bisogna racchiudere l intero nome tra una coppia di parentesi quadre. # 22 Prof Alberto Postiglione Università Salerno 11
12 QUERY 28 - MIN, MAX, AVG Stipendi minimo, massimo e medio fra quelli di tutti i Dipendenti SELECT FROM Min ([Stipendio annuo]), Max ([Stipendio annuo]), Avg ([Stipendio annuo]) Impiegato Expr ,00 Expr ,00 Expr ,00 # 23 Prof Alberto Postiglione Università Salerno QUERY 29 MAX su testo Cognome del Dipendente che, in ordine alfabetico, è in ultima posizione SELECT FROM Max (Cognome) Impiegato Expr1000 Verdi # 24 Prof Alberto Postiglione Università Salerno 12
13 QUERY 30 - Aggregati su 2 tabelle Stipendio più alto fra quelli dei Dipendenti che lavorano in un Dipartimento con sede a SELECT FROM WHERE Max ([Stipendio annuo]) Impiegato, Dipartimento Dipartimento.Nome = Impiegato.Dipartimento AND Dipartimento.Città='' Expr ,00 # 25 Prof Alberto Postiglione Università Salerno Nomi di Attributi e operatori aggregati Nome, Cognome e Stipendio del Dipendente che guadagna più di tutti NON E POSSIBILE mischiare nella clausola SELECT nomi di attributi con operatori aggregati perchè Il risultato di una SELECT è normalmente un insieme di righe Un operatore aggregato (Count, Sum, ) estrae un unico valore da un insieme di righe già selezionato dalla SELECT. Nelle queries precedenti abbiamo sempre usato operatori aggregati OPPURE nomi di campi! Se in una Query c è un qualsiasi operatore aggregato (Sum, Count, ) non abbiamo utilizzato nomi di campi presi singolarmente, se non come argomenti dell operatore # 26 Prof Alberto Postiglione Università Salerno 13
14 Nomi di Attributi e operatori aggregati Non è cioè possibile scrivere la query un questo modo: SELECT Cognome, Nome, Max (Stipendio) FROM Impiegato; Questa query NON INDIVIDUA lo stipendio massimo e poi seleziona il nome e il cognome dell impiegato corrispondente. Quando incontreremo le Queries Innestate (Subqueries) vedremo come sarà possibile rispondere a questa interrogazione # 27 Prof Alberto Postiglione Università Salerno Raggruppamento Gli esempi visti fino ad ora operano su tutte le righe di una tabella A volte è necessario applicare un operatore aggregato a sottoinsiemi di righe raggruppati in base ad un valore comune presente in uno o più campi E cioè necessario ripartire le righe in sottoinsiemi omogenei ed applicare gli operatori aggregati ai singoli gruppi. # 28 Prof Alberto Postiglione Università Salerno 14
15 Raggruppamento Basta aggiungere in coda alla SELECT-FROM-WHERE la clausola GROUP BY GROUP BY A 1, A k HAVING Ψ A 1, A k è un insieme di campi che devono comparire anche nella clausola SELECT Ψ è una clausola opzionale che si applica ai gruppi (permette di selezionarne solo un sottoinsieme) La query raggrupperà tutte le righe che presentano gli stessi valori sui campi A 1, A k # 29 Prof Alberto Postiglione Università Salerno QUERY 31 - GROUP BY Per ogni Dipartimento si vuole conoscere il totale degli stipendi pagati SELECT Dipartimento, Sum([Stipendio annuo]) AS Totale FROM Impiegato GROUP BY Dipartimento Dipartimento Distribuzione Totale , , , ,00 # 30 Prof Alberto Postiglione Università Salerno 15
16 Come funziona una query con GROUP BY 1) Viene prima eseguita la query come se non ci fosse la clausola GROUP BY, Nell esempio è come se venisse effettuata la query(31bis) SELECT FROM Dipartimento, [Stipendio annuo] Impiegato Dipartimento Distribuzione Stipendio annuo , , , , , , , ,00 # 31 Prof Alberto Postiglione Università Salerno Come funziona una query con GROUP BY 2) Le righe vengono poi raggruppate mettendo assieme tutte quelle con uguale valore degli attributi che compaiono nella clausola GROUP BY Nell esempio il valore in base a cui raggruppare è il nome del Dipartimento Dipartimento Distribuzione Stipendio annuo # 32 Prof Alberto Postiglione Università Salerno 16
17 Come funziona una query con GROUP BY 3) Viene applicato l operatore aggregato ad ognuno dei sottoinsiemi individuati Nel nostro esempio, l operatore è SUM e si applica ad ognuno dei 4 sottoinsiemi individuati Dipartimento Distribuzione Stipendio annuo Dipartimento Distribuzione Totale , , , ,00 # 33 Prof Alberto Postiglione Università Salerno GROUP BY - HAVING La lista dei campi della clausola SELECT deve essere un sottoinsieme di quella della clausola GRUOP BY. Se siamo interessati solamente ad alcuni dei sottoinsiemi utilizziamo il predicato HAVING # 34 Prof Alberto Postiglione Università Salerno 17
18 QUERY 32 - HAVING Nome e spesa complessiva dei Dipartimenti che spendono più di euro in stipendi SELECT Dipartimento, Sum ([Stipendio annuo]) FROM Impiegato GROUP BY Dipartimento HAVING Sum([Stipendio annuo])> Dipartimento Expr , ,00 # 35 Prof Alberto Postiglione Università Salerno GROUP BY - HAVING Nota: HAVING può anche essere usato senza GROUP BY. In questo caso la tabella si considera come un unico grande raggruppamento. HAVING presenta espressioni che contengono campi solo se questi sono argomenti di operatori aggregati # 36 Prof Alberto Postiglione Università Salerno 18
19 QUERY 33 - HAVING Tutti i Dipartimenti in cui la media degli stipendi dei dipendenti che lavorano nell ufficio 20 è superiore a euro SELECT Dipartimento FROM Impiegato WHERE Ufficio = 20 GROUP BY Dipartimento HAVING Avg([Stipendio annuo])>25000; Dipartimento # 37 Prof Alberto Postiglione Università Salerno 19
<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
DettagliINFORMATICA 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
DettagliINFORMATICA 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
DettagliTabelle 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
DettagliINFORMATICA 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
DettagliQuery. 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
DettagliInformatica 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
DettagliInterrogazioni 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
DettagliTabelle 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 (4) Query di aggiornamento Prof. Alberto Postiglione
DettagliProf. 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
DettagliQL (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
DettagliLinguaggio 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
DettagliV. 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
Dettagli4.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
DettagliStructured 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
DettagliA.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
DettagliSQL: 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
DettagliCorso 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
DettagliInterrogazioni 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
DettagliSelect 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
DettagliOperatori 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
DettagliIl 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
DettagliIL 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
DettagliSistemi 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
DettagliInterrogazioni 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
DettagliSQL 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
DettagliSQL [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
DettagliCorso 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
DettagliLaboratorio 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
DettagliPrincipi 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
DettagliIl 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
DettagliIl 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
DettagliCaratteristiche 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;
DettagliLezioni 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
DettagliSQl come DML. Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone
SQl come DML Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 5 Appunti dalle lezioni SQL come DDL Sistemi
DettagliInterrogazioni 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
DettagliIl 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
DettagliStructured. 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
DettagliE 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
DettagliSQL 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
DettagliSQL 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
DettagliOperatori 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
DettagliJoin in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a
Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono
DettagliProgettazione 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
DettagliLinguaggio 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
DettagliInformatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL
Informatica Basi di dati parte 4 SQL Lezione 13 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Interrogazioni in
DettagliManuale 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,
DettagliBasi 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
DettagliIl 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
DettagliBasi 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
DettagliSQL - 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,...
DettagliSQL - 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)
DettagliBasi 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
DettagliSQL. 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
DettagliCorso di. Basi di Dati I. 8. Esercitazioni in SQL: Interrogazioni nidificate
Corso di Basi di Dati 8. Esercitazioni in SQL: Interrogazioni nidificate A.A. 2016 2017 Interrogazioni nidificate Come abbiamo visto, in una query SQL il comando where è seguito da un argomento che può
DettagliCorso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste
Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check
DettagliDatabase 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
DettagliOperatori aggregati. Gli operatori di aggregazione NON sono rappresentabili in Algebra Relazionale. conteggio, minimo, massimo, media, somma
Aggregazione dati Operatori aggregati Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a partire da insiemi di ennuple SQL-2 prevede 5 possibili operatori di aggregamento:
DettagliSISTEMI 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
DettagliSQL /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
DettagliBasi 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
DettagliBASE 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)
DettagliACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio
ACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio Le query su più tabelle Le query proposte nella Lezione scorsa sono tutte basate su una sola tabella. Una base di dati è solitamente costituita
DettagliSQL - 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
DettagliSQL. 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
DettagliInterrogazioni 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
DettagliBasi 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
DettagliOPERATORI 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
DettagliAtzeni, 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
DettagliInterpretazione delle query nidificate
Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi
DettagliBasi di Dati. S Q L Lezione 2
Basi di Dati S Q L Lezione 2 Antonio Virdis a.virdis@iet.unipi.it Sommario Unire più tabelle Operazioni algebriche Ridenominazione Query annidate 2 Unire piu' relazioni Nella progettazione di un DB le
DettagliCorso 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
DettagliSQL 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
DettagliBasi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti.
Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti. Cognome: : Matricola: Domanda 1 (10%) Considerare i due schemi seguenti a) Professore Afferenza Dipartimento
DettagliMicrosoft Access (parte 5) Query. Query. Query. Query. Creare una query
Microsoft Access (parte 5) Anno accademico: 2008-2009 Per estrarre informazioni da un database si utilizzano delle query : procedure di interrogazione Si può creare più query per ogni tabella Occorre avere
DettagliISBN 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
DettagliAPPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio
APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio INTRODUZIONE L algebra relazionale è l algebra su cui si basa il linguaggio
DettagliSQL 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
DettagliFiltri. Microsoft Access. Filtri. Filtri
Filtri Microsoft Access Filtri, query Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo requisito Per applicare un filtro a una tabella è
DettagliSQL. 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
DettagliArchivi 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'&'
DettagliIdoneita 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
DettagliInterrogazioni 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,
DettagliALGEBRA RELAZIONALE. L algebra relazionale
ALGEBRA RELAZIONALE 2 L algebra relazionale L insieme principale di operazioni per il modello relazionale è l algebra relazionale. Le operazioni dell algebra relazionale consentono all utente di specificare
DettagliAlgebra 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
DettagliInterrogare 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 è
DettagliEstensioni del linguaggio SQL per interrogazioni OLAP
Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Esempio! Esempio delle vendite con scontrino (nella tabella, per
DettagliRELAZIONI E BASI DI DATI
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno :Modello Relazionale (2)-Relazioni e DB, valori nulli Prof.
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 6 Raffaella Gentilini 1 / 40 Sommario 1 Viste 2 3 2 / 40 Viste Viste le viste sono tabelle virtuali corrispondono al risultato di una query (SELECT) valutata
DettagliLaboratorio di Basi di Dati IV esercitazione 17 aprile 2007
Laboratorio di Basi di Dati IV esercitazione 17 aprile 2007 Sia data la base di dati Unige, che riprende ed estende la basi di dati creata durante le precedenti esercitazioni per la modellazione dei dati
DettagliManuale 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...
DettagliInterrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
DettagliAlessandra Raffaetà. Esercizio: Cinema
Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema
DettagliS.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà
Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema
DettagliLezione 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
DettagliSQL Ulteriori comandi e clausole per query
SQL Ulteriori comandi e clausole per query Utilizziamo come riferimento per presentare queste query il DB relativo alla simulazione di Aprile 2019, reperibile in: http://www.veneziani.altervista.org/itis_luino_2018-2019/informatica/5a/dispense/db/simulazione_2019_apr/simulazione_2019_apr_v1.zip
DettagliBasi 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