Corso di Informatica Linguaggio SQL seconda parte

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Informatica Linguaggio SQL seconda parte"

Transcript

1 Corso di Informatica Linguaggio SQL seconda parte Anno Accademico

2 Le condizioni di ricerca 2

3 Le condizioni di ricerca Usate nelle clausole WHERE e HAVING Costruite con gli operatori di confronto: >, >=, <, <=, =, <>,... Espressioni ottenute concatenando confronti con gli operatori logici: AND, OR, NOT, XOR Altri operatori di confronto: BETWEEN, NOT BETWEEN, IN, NOT IN, LIKE, NOT LIKE, IS NULL, IS NOT NULL BETWEEN: controlla l appartenenza di un valore in un dato intervallo IN: controlla l appartenenza a uno dei valori di un elenco LIKE: confronta una stringa di caratteri con un modello di stringa costruita, in genere, con caratteri jolly IS NULL: controlla la presenza di valori nulli 3

4 BETWEEN, IN BETWEEN SELECT Cognome, Nome, Residenza FROM Impiegati WHERE Stipendio BETWEEN AND 45000; equivale a: WHERE Stipendio >= AND Stipendio <= 45000; IN SELECT * FROM Impiegati WHERE Residenza IN ('Torino','Venezia','Palermo'); equivale a: WHERE Residenza = 'Torino' OR Residenza = 'Venezia' OR Residenza = 'Palermo'; 4

5 LIKE (1) Caratteri Jolly? indica uno e un solo carattere qualsiasi in quella posizione della stringa (nello standard SQL si usa il carattere _ ) * indica una sequenza qualsiasi di caratteri in quella posizione della stringa (nello standard SQL si usa il carattere % ) LIKE 'xyz*' LIKE '*xyz' LIKE '*xyz*' LIKE '?xyz' riconosce le stringhe che iniziano con 'xyz'; riconosce le stringhe che finiscono con 'xyz'; riconosce le stringhe di 3 o più caratteri che contengono 'xyz'; riconosce le stringhe di 4 caratteri che finiscono con 'xyz'. SELECT Cognome, Dipartimento FROM Impiegati WHERE Cognome LIKE R* ; Gli impiegati con il cognome che inizia per R 5

6 LIKE (2) [ ] ricerca un carattere fra quelli elencati fra le parentesi quadre! ricerca caratteri diversi da quelli specificati tra [ ] (anche ^) [α-β] ricerca i caratteri di un intervallo. Deve essere α<β # ricerca un carattere numerico ( caratteri jolly nella guida in linea) Like R[ai]s* Raso, Riso, Rasente, Risoluto ma non Rosoni Like R[!i]s? Raso, Reso, Roso, ma non Rosoni, Riso, Resto Like [A-M]* tutte le stringhe che iniziano con un carattere compreso tra A ed M L iniziale del cognome è scelta SELECT Cognome, Dipartimento quando si esegue l interrogazione FROM Impiegati WHERE Cognome LIKE [Carattere iniziale?] & * ; 6

7 Funzioni di aggregazione (1) COUNT, SUM, MIN, MAX, AVG, Sintetizzano le informazioni di una colonna in un solo valore Possono comparire SOLO nelle clausole SELECT e HAVING COUNT: conta il numero di righe o di valori non nulli in una colonna COUNT(*) conta le righe di una tabella SUM: somma i valori non nulli di una colonna AVG: restituisce la media dei valori non nulli di una colonna AVG(Stipendio) = SUM(Stipendio)/COUNT(Stipendio) MIN, MAX: restituiscono il valore minimo e massimo di una colonna SELECT COUNT(*) FROM Impiegati; Restituisce 12 7

8 Funzioni di aggregazione (2) SELECT COUNT(Dipartimento) FROM Impiegati; Restituisce 11 SELECT COUNT(*), COUNT(*) AS ResidentiRoma FROM Impiegati WHERE Residenza = 'Roma'; SELECT SUM(Stipendio) AS StipendiAmm, SUM(Stipendio*1.03) AS NuoviStipendiAmm FROM Impiegati WHERE Dipartimento = 'Amm'; 8

9 Funzioni di aggregazione (3) SELECT AVG(Stipendio) FROM Impiegati, Dipartimenti WHERE Dipartimento = Codice AND Sede = 'Torino'; ROUND(AVG(Stipendio), 0) SELECT ROUND(AVG(Stipendio)), ROUND(AVG(Stipendio),2) FROM Impiegati, Dipartimenti WHERE Dipartimento = Codice AND Sede = 'Torino'; Per arrotondare i risultati si usa la funzione ROUND: ROUND( Espressione [, NumCifre] ) 9

10 Funzioni di aggregazione (4) SELECT MIN(Stipendio), MAX(Stipendio) FROM Impiegati; SELECT MIN(Cognome), MAX(Cognome) FROM Impiegati; 10

11 Ordinamenti e Raggruppamenti 11

12 Ordinamenti (1) ORDER BY, se presente, deve essere l ultima clausola di SELECT SELECT Cognome, Nome, Residenza FROM Impiegati ORDER BY Cognome, Nome; Ordinato per valori crescenti di Cognome e, a parità di Cognome, per Nome SELECT Cognome, Stipendio FROM Impiegati ORDER BY Stipendio DESC, Cognome; ORDER BY Colonna ASC DESC 12

13 Ordinamenti (2) Ordinare secondo i valori di un campo calcolato SELECT NomeProdotto, PrezUnit, Qta, PrezUnit*Qta FROM Fatture ORDER BY 4 DESC; Forma sconsigliata SELECT NomeProdotto, PrezUnit, Qta, PrezUnit*Qta AS Totale FROM Fatture ORDER BY Totale DESC; Forma raccomandata Attenzione: con Access bisogna usare una delle due forme ORDER BY [PrezUnit]*[Qta] DESC ORDER BY 4 DESC 13

14 Raggruppamenti (1) GROUP BY per sintetizzare i valori di un campo in classi omogenee, applicando le funzioni di aggregazione a singole parti di una colonna SELECT Dipartimento, COUNT(ID) AS.., SUM(Stipendio) AS.. FROM Impiegati GROUP BY Dipartimento; Nella clausola SELECT possono comparire solo i campi presenti in GROUP BY e funzioni di aggregazione Le righe sono raggruppate per dipartimento Le funzioni di aggregazione sono applicate separatamente a ogni raggruppamento 14

15 Raggruppamenti (2) La precedente interrogazione in SQL e QBE di Access 15

16 Raggruppamenti (3) Per mostrare il nome del dipartimento, si deve raggruppare per Descrizione: SELECT Descrizione, COUNT(*), SUM(Stipendio) FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice GROUP BY Descrizione; Oppure SELECT Descrizione, COUNT(*), SUM(Stipendio) FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice GROUP BY Dipartimento, Descrizione; Ma non: SELECT Descrizione, COUNT(*), SUM(Stipendio) FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice GROUP BY Dipartimento ; Errore per Access 16

17 Condizioni sui raggruppamenti (1) HAVING per elencare i dipartimenti con più di due dipendenti SELECT Dipartimento, COUNT(ID), SUM(Stipendio) FROM Impiegati GROUP BY Dipartimento HAVING COUNT(ID) > 2; HAVING predica sui raggruppamenti 17

18 Condizioni sui raggruppamenti (2) HAVING e WHERE: i dipartimenti di Torino con più di 1 dipendente SELECT Descrizione, Count(ID) AS Dipendenti, Sum(Stipendio) AS Stipendi FROM Dipartimenti D INNER JOIN Impiegati I ON D.Codice = I.Dipartimento WHERE Sede = 'Torino' GROUP BY Descrizione HAVING Count(ID)>1; WHERE predica sulle righe HAVING predica sui raggruppamenti 18

19 Condizioni sui raggruppamenti (3) DOVE nelle query QBE per inserire condizioni sulle righe... WHERE Sede = 'Torino' GROUP BY Descrizione HAVING Count(ID) > 1 Condizione sui raggruppamenti Condizione sulle righe 19

20 Il comando SELECT Tutte le clausole del comando SELECT SELECT FROM WHERE Elenco di espressioni da mostrare Tabelle da cui estrarre le righe Condizioni sulle congiunzioni e sulle righe estratte GROUP BY Campi da considerare per i raggruppamenti HAVING Condizioni sui raggruppamenti ORDER BY Ordinamenti sulle espressioni elencate in SELECT Obbligatorie le sole clausole SELECT (e FROM se ci sono tabelle) Devono rispettare l ordinamento: SELECT FROM ORDER BY SELECT è valutata dal motore del DBMS nell ordine: FROM WHERE GROUP BY HAVING SELECT ORDER BY 20

21 Esercizi (1) Anagrafiche (KCodice, Nome, Indirizzo) Movimenti (KNumero, Descrizione, Data, Importo, Codice) Scrivere il comando SQL per ricavare le seguenti informazioni: Numero delle persone in anagrafica aventi un indirizzo prefissato Importo totale dei movimenti riferiti a un codice prefissato Importo medio dei movimenti Valori minimo e massimo tra gli importi dei movimenti Elenco dei movimenti con importo compreso tra 1000 e Media degli importi per i movimenti aventi una descrizione prefissata. Valore massimo per gli importi dei movimenti di un anagrafica di nome noto. Elenco dei movimenti con importo superiore a 300 in ordine crescente di importo Elenco delle anagrafiche con indirizzo Milano, Torino o Venezia Elenco delle anagrafiche con nome che inizia con Ros Nome delle anagrafiche con movimenti con importo compreso tra 3000 e Elenco delle anagrafiche che hanno l iniziale del nome uguale ad A Elenco delle anagrafiche con iniziale del nome da A ad L 21

22 Esercizi (2) Anagrafiche (KCodice, Nome, Indirizzo) Movimenti (KNumero, Descrizione, Data, Importo, Codice) Scrivere il comando SQL per ricavare le seguenti informazioni: Totale degli importi dei movimenti per ciascun codice anagrafico Importo medio dei movimenti per le anagrafiche aventi più di 20 movimenti registrati Quante persone sono di Milano? Elenco degli indirizzi con più di 10 persone in anagrafica Raggruppare le anagrafiche per indirizzo e fornirne il numero per ogni indirizzo Nome delle anagrafiche che hanno almeno 30 movimenti registrati nella tabella dei movimenti Numero di movimenti eseguiti nel 2013 da ogni soggetto di anagrafica Somma degli importi dei movimenti per codice e per Descrizione Per ogni soggetto di anagrafica elencare codice, nome, numero dei movimenti e somma degli importi, ordinando l elenco per valore decrescente del numero di movimenti Elencare i soggetti di anagrafica con importo medio dei movimenti superiore a 500 Elenco dei soggetti di anagrafica di Milano con somma degli importi superiore a 4500 Elenco dei soggetti di anagrafica di Milano che hanno valore medio degli importi superiore a 600. Elenco con codice, nome e numero di movimenti 22

23 Esercizi (3) Riviste ( CodRiv, Titolo, Periodicità, Prezzo ) Abbonati ( CodAbb, Cognome, Indirizzo, Città ) Abbonamenti ( ID, Data, CodRiv, CodAbb ) Scrivere il comando SQL per ricavare le seguenti informazioni: Elenco degli abbonati (con Cognome e Indirizzo) ordinato alfabeticamente Titolo, Periodicità e Prezzo delle riviste ordinato per valori decrescenti di Prezzo Numero delle riviste e degli abbonati in archivio Numero degli abbonamenti sottoscritti per una rivista di cui si conosce il Titolo Prezzo medio, minimo e massimo delle riviste trimestrali Importo complessivo degli abbonamenti sottoscritti da abbonati di Milano Elenco degli abbonamenti sottoscritti nel primo trimestre del 2012 con titolo rivista, codice abbonato e data, ordinato per data crescente Numero di riviste alle quali è abbonato un abbonato di cui si conosce il cognome Numero degli abbonati di Bergamo Elenco delle riviste per le quali non è precisata la periodicità ordinato per Titolo Numero di abbonamenti sottoscritti nel 2013 a una rivista di cui si conosce il codice 23

24 Esercizi (4) Riviste ( CodRiv, Titolo, Periodicità, Prezzo ) Abbonati ( CodAbb, Cognome, Indirizzo, Città ) Abbonamenti ( ID, Data, CodRiv, CodAbb ) Scrivere il comando SQL per ricavare le seguenti informazioni: Numero degli abbonamenti sottoscritti per ogni rivista Valore totale abbonamenti per ogni rivista Valore totale abbonamenti per ogni rivista per le sole riviste per le quali sono stati sottoscritti più di 3000 abbonamenti Elenco delle riviste con: titolo, numero degli abbonamenti sottoscritti e valore complessivo degli abbonamenti, ordinato per numero decrescente di abbonamenti Numero degli abbonamenti sottoscritto da ogni abbonato Suddividere le riviste per periodicità e per ogni periodicità precisare il numero riviste e il prezzo medio delle riviste che hanno quella periodicità 24

25 Query di comando e di servizio - SQL 25

26 Un doppio raggruppamento Numero dei dipendenti suddivisi per dipartimento e residenza: SELECT Dipartimento, Residenza, Count(ID) FROM Impiegati GROUP BY Dipartimento, Residenza; Elenco scomodo da consultare Perché non disporre i dati in una tabella a doppia entrata? 26

27 Query a Campi incrociati E possibile inserire una sola funzione di aggregazione all incrocio fra righe e colonne: 27

28 Query di comando Le query di comando modificano il contenuto del database Creando una query in Visualizzazione struttura, dopo avere scelto le tabelle, la scheda Progettazione ha l aspetto: Le query di comando servono per: Creare una nuova tabella, Aggiungere dati a una tabella esistente, Modificare i dati in una tabella, Cancellare righe di una tabella Le abituali interrogazioni sono indicate come: query di Selezione Con le query Pass-through si accede a una finestra per scrivere interrogazioni in SQL 28

29 Query di Creazione tabella Creare una nuova tabella con: codice identificativo, cognome, nome, stipendio e descrizione del dipartimento per i dipendenti della produzione 29

30 Query di Accodamento (1) Accodare alla tabella Impiegati i dipendenti della tabella NuoviDipendenti con ID uguale a 2 e 3. I campi Dipartimento e Stipendio sono scambiati 30

31 Query di Accodamento (2) Le due tabelle possono essere di grado differente 31

32 Query di Eliminazione Eliminare da Impiegati i dipendenti con ID di valore 2 e 3. 32

33 Query di Aggiornamento Aumentare di 1000 le retribuzioni dei dipendenti della Produzione 33

34 Limitare l output di una query I tre dipendenti con le retribuzioni più elevate TOP 3 potrebbe restituire 4 righe! 34

35 Interrogare una query (1) Qual è il dipartimento che spende di più in stipendi? La query StipendiPerDipartimento: Nelle interrogazioni si possono usare sia tabelle che query come origine dei dati SELECT TOP 1 Dipartimento, Stipendi FROM StipendiPerDipartimento ORDER BY Stipendi DESC; 35

36 Interrogare una query (2) Forme alternative alla precedente query: SELECT TOP 1 Dipartimento, Stipendi FROM (SELECT Dipartimento, SUM(Stipendio) AS Stipendi FROM Impiegati GROUP BY Dipartimento) ORDER BY Stipendi DESC; Come il DBMS esegue una query su query SELECT TOP 1 Dipartimento, SUM(Stipendio) AS Stipendi FROM Impiegati GROUP BY Dipartimento ORDER BY Stipendi DESC; ORDER BY SUM(Stipendio) DESC Ma l interrogazione più facile da progettare (e più elegante) è: SELECT TOP 1 Dipartimento, Stipendi FROM StipendiPerDipartimento ORDER BY Stipendi DESC; 36

37 Interrogazioni nidificate 37

38 Query nidificate (1) Nome, Cognome e Dipartimento del dipendente con lo stipendio massimo Noto lo stipendio massimo.. Perché non cortocircuitare le due interrogazioni? 38

39 Query nidificate (2) Una costante in una clausola WHERE può essere rimpiazzata con l interrogazione che genera tale costante SELECT Nome, Cognome, Dipartimento FROM Impiegati WHERE Stipendio = ( SELECT MAX(Stipendio) FROM Impiegati ); Sottointerrogazione: deve essere racchiusa da parentesi. L interrogazione è una sola e c è un solo ; finale. 39

40 Query nidificate (3) Cognome, Nome e Stipendio degli impiegati con stipendio inferiore alla media degli stipendi degli altri impiegati SELECT Cognome, Nome, Stipendio FROM Impiegati WHERE Stipendio < ( SELECT AVG(Stipendio) FROM Impiegati ); Il dipartimento che spende di più in stipendi (problema già risolto) SELECT Dipartimento, Stipendi FROM StipendiPerDipartimento Quarto modo WHERE Stipendi = ( SELECT MAX(Stipendi) FROM StipendiPerDipartimento ); 40

41 Query nidificate (4) Sottointerrogazioni che restituiscono un elenco di valori: Nome, Cognome e Stipendio dei dipendenti che sono manager. Restituisce l elenco di valori: 10,12,13,14 Perché non cortocircuitare le due query? L elenco di valori che compare nel predicato IN, in una clausola WHERE, può essere sostituito dalla sottointerrogazione che lo genera. 41

42 Query nidificate (5) Bisogna usare un comando SELECT anche nelle query nidificate in modalità QBE 42

43 Numero di valori diversi Da quante differenti città di residenza provengono i dipendenti del dipartimento Produzione? SELECT COUNT(DISTINCT Residenza) FROM Impiegati WHERE Dipartimento = 'Prod'; Sintassi non ammessa nell SQL di Access Bisogna ricorrere a una query annidata nella clausola FROM SELECT COUNT(*) FROM ( SELECT DISTINCT Residenza FROM Impiegati WHERE Dipartimento = 'Prod'); 43

44 Ricerca di valori duplicati Chi sono i manager responsabili di più di un dipartimento? Query di ricerca duplicati di Access SELECT Manager, Descrizione FROM Dipartimenti WHERE Manager IN ( SELECT Manager FROM Dipartimenti GROUP BY Manager HAVING Count(*)>1 ) ORDER BY Manager; 44

45 Osservazioni (1) Interrogazioni basate su altre interrogazioni e interrogazioni annidate permettono di risolvere problemi impossibili da risolvere diversamente. Esempio: qual è il dipartimento con il maggior numero di impiegati? SELECT Dipartimento, Dipendenti FROM StipendiPerDipartimento WHERE Dipendenti = ( SELECT MAX(Dipendenti) FROM StipendiPerDipartimento ); Viste Logiche sono tabelle virtuali ottenute da interrogazioni su altre tabelle. In Access non ci sono Viste Logiche ma, potendo interrogare le query, è come se ci fossero. Nei confronti la sottoquery deve apparire come secondo termine. La forma: Con le Viste Logiche si realizza l indipendenza logica dei dati WHERE ( SELECT AVG(Stipendio) FROM Le viste logiche Impiegati sono un utile ) strumento > Stipendio concettuale per costruire interrogazioni: se avessi una non tabella è ammessa! fatta così allora potrei se c è la si usa se non c è la si costruisce con una query 45

46 Osservazioni (2) Anche le interrogazioni con sottointerrogazioni sono un utile strumento concettuale per costruire interrogazioni In alcune query le sottointerrogazioni sono indispensabili perché non si possono usare funzioni di aggregazione nella clausola WHERE Sono utili anche per la costruzione alternativa di interrogazioni SELECT Nome, Cognome FROM Impiegati Chi è il manager WHERE ID = ( SELECT Manager del Personale? FROM Dipartimenti WHERE Descrizione = 'Personale ); Soluzione alternativa all interrogazione relazionale: SELECT Nome, Cognome FROM Impiegati I, Dipartimenti D WHERE I.ID = D.Manager AND D.Descrizione = 'Personale'; 46

47 Query e Indipendenza logica (1) La query StudIng La query StudEco 47

48 Query e Indipendenza logica (2) Con StudIng e StudEco si accede in modo riservato e specializzato all archivio Studenti I comandi SQL per ottenere StudIng e StudEco: Se lo schema di Studenti cambia con l aggiunta di nuovi campi, cosa succede alle tabelle visualizzate dalle due query (viste logiche)? 48

49 La normalizazione in pratica (1) Da InventarioNonNorm a due tabelle normalizzate SELECT Prodotto, Magazzino, Quantità INTO Inventario FROM InventarioNonNorm; SELECT DISTINCT Magazzino, IndirizzoMagazzino INTO Magazzini FROM InventarioNonNorm; 49

50 La normalizazione in pratica (2) Per ricostruire le informazioni contenute in InventarioNonNorm SELECT Prodotto, M.Magazzino, Quantità, IndirizzoMagazzino FROM Inventario AS I, Magazzini AS M WHERE I.Magazzino = M.Magazzino; Come prevenire situazioni come quella in figura?? 50

51 Esercizi Riviste ( CodRiv, Titolo, Periodicità, Prezzo ) Abbonati ( CodAbb, Cognome, Indirizzo, Città ) Abbonamenti ( ID, Data, CodRiv, CodAbb ) Scrivere il comando SQL per ricavare le seguenti informazioni: Qual è la rivista che costa di più? In quale città è stato sottoscritto il maggior numero di abbonamenti nel 2013? Quali sono le riviste mensili di prezzo inferiore al prezzo medio di tali riviste? Qual è la rivista settimanale meno costosa? In quale città è stato sottoscritto il maggior numero di abbonamenti? Quale rivista ha ottenuto i maggiori ricavi? Quale rivista ha ottenuto il maggior numero di abbonamenti? Quante riviste hanno prezzo superiore al prezzo medio? Chi è l abbonato che ha sottoscritto il primo abbonamento? (cioè l abbonamento più in là nel tempo?) Da chi è stato sottoscritto l ultimo abbonamento a una rivista di cui si conosce il codice? 51

52 Linguaggio SQL2 - Fine Grazie per la vostra attenzione 52

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

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

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

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

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

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

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

Corso di Informatica Linguaggio SQL prima parte

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

Dettagli

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

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

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

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

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

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

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

Le query di comando e di servizio in Access

Le query di comando e di servizio in Access Le query di comando e di servizio in Access In questa parte sono presentate alcune query di Access che permettono di: creare nuove tabelle, aggiungere o eliminare righe in una tabella, modificare il contenuto

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Algebra relazionale e interrogazioni

Algebra relazionale e interrogazioni Algebra relazionale e interrogazioni A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Operazioni relazionali 2 Algebra relazionale Gli operatori

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

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

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

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

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

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

<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

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

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

CORSO ACCESS 2000 PARTE VI

CORSO ACCESS 2000 PARTE VI Le Query Le Query selezionano dati, da una o più tabelle in un database, che soddisfano determinati requisiti e visualizzano i risultati in un foglio dati. I dati richiesti vengono visualizzati in un recordset

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

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

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

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

Modelli di Base Dati

Modelli di Base Dati Modelli di Base Dati E Correzione degli esercizi con il contributo di: Cherubini Simonetto a.a. 2001/2002 E.1 Modulo 1: I Database E.2 Modelli di Base Dati 1 I Database Individuare le entità, gli attributi,

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

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

MODULO 2. Query normali e parametriche Query di:

MODULO 2. Query normali e parametriche Query di: MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,

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

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

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

Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi '; 1) Ottenere la descrizione dei movimenti riferiti all'anagrafica con Cognome = ' Bianchi '. Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi '; Ottenere

Dettagli

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

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

Dettagli

Nel seguito del capitolo faremo riferimento al seguente database di esempio.

Nel seguito del capitolo faremo riferimento al seguente database di esempio. 1 Introduzione Il linguaggio SQL (Structured Query Language) è nato con lo scopo di poter eseguire con facilità: la definizione e la creazione di un database relazionale; le diverse operazioni di gestione

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

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

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

Linguaggio SQL: esempi di query. a cura del Prof. Claudio Traini

Linguaggio SQL: esempi di query. a cura del Prof. Claudio Traini Linguaggio SQL: esempi di query a cura del Prof. Claudio Traini Modello logico utilizzato Tabella PERSONALE Tabella DIPARTIMENTI Tabella PRODOTTI Tabella COMPONENTI Tabella COMPOSIZIONE QUERY: STRUTTURA

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

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

07/12/2017. a cura del Prof. Claudio Traini. Modello logico utilizzato

07/12/2017. a cura del Prof. Claudio Traini. Modello logico utilizzato Linguaggio SQL: esempi di query a cura del Prof. Claudio Traini Modello logico utilizzato 1 Tabella PERSONALE Tabella DIPARTIMENTI 2 Tabella PRODOTTI Tabella COMPONENTI 3 Tabella COMPOSIZIONE QUERY: STRUTTURA

Dettagli

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Microsoft 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

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

Operatori aggregati. Gli operatori di aggregazione NON sono rappresentabili in Algebra Relazionale. conteggio, minimo, massimo, media, somma

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

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

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

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 - Structured Query Language

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

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

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

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

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

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

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

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

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

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

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

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

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

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Dettagli

SQL 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

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

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Linguaggio SQL. Prof. Giuseppe Tandoi

Linguaggio SQL. Prof. Giuseppe Tandoi Caratteristiche generali SQL è uno strumento per organizzare gestire recuperare dati memorizzati in DataBase organizzati su base Relazionale. Caratteristiche generali SQL è l'acronimo di Structured Query

Dettagli

PROGETTAZIONE DI DATABASE Linguaggio SQL

PROGETTAZIONE DI DATABASE Linguaggio SQL PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti

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

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

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

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

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

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

Access. P a r t e t e r z a

Access. P a r t e t e r z a Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,

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

Filtri. Microsoft Access. Filtri. Filtri

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

Dettagli

Estensioni del linguaggio SQL per interrogazioni OLAP

Estensioni 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

Dettagli

SQL DDL. Create database. Alter database. Drop database

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

Dettagli

Elena Baralis, Claudio Demartini

Elena Baralis, Claudio Demartini 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

Dettagli