SQL Linguaggio per l’interrogazione di una base dati.

Slides:



Advertisements
Presentazioni simili
Interrogazioni Semplici Le operazioni di interrogazione vengono specificate per mezzo dellistruzione select select ListaAttributi from ListaTabelle [where.
Advertisements

Principale limitazione di AR e SQL-92: interrogazioni ricorsive
Calcolo Relazionale.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Principale limitazione di AR e SQL-92: interrogazioni ricorsive IMPIEGATO NOMENOMECAPO RossiVerdi NeriVerdi DeSio TucciDeSio DeLucaDeSio Lazio selezionare.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Algoritmo di Query Optimization. Espressione Algebrica di Query LAlgebra Relazionale può essere utilizzata come linguaggio per interrogare una base di.
SQL.
SQL Dati i seguenti schemi relazionali:
Operazioni Relazionali
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Elementi di PL/SQL.
Istruzione SELECT (versione base)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Access: Query semplici
SQL: Lezione 7 Nataliya Rassadko
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 4:SQL 16/10/2002.
Basi di dati Claudia Raibulet
SQL: Structured Query Language
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
MODELLO LOGICO DEI DATI
Realizzato da Roberto Savino
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
SQL.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
SQL Interrogazioni. 2 Interrogazioni in SQL Non esiste un SQL standard (vari dialetti) Formulazione di interrogazioni (query) è parte del Data Manipulation.
Informatica Introduzione alle basi di dati Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (IV) SQL (Slide tratte in parte da da Atzeni, Ceri,
Le query in SQL Unità didattica sviluppata per l’ITIS “A. Volta” – Classe 5 sez. I Ing Domenico Liguori - Università degli studi di Napoli “Federico.
Microsoft Access Maschere (II).
ALGEBRA RELAZIONALE. Algebra Relazionale2  Le basi di dati rappresentano le informazioni di interesse per applicazioni che gestiscono i dati  E’ importante.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Algebra relazionale (III). Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati?
Interrogazioni (parte 2)
Algebra relazionale. Accesso ai dati di un DB Aggiornamento di DB: funzione che, data istanza di DB, produce altra istanza di DB, sullo stesso schema.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (III) SQL (Slide tratte in parte da da Atzeni, Ceri,
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Lezione 6 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Operazioni Relazionali
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Excel Funzioni di ricerca.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Transcript della presentazione:

SQL Linguaggio per l’interrogazione di una base dati

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 2 Interrogazione di una base dati L’interrogazione di una base di dati è uno degli aspetti piu importanti del linguaggio SQL. I comandi di interrogazione, o QUERY, permettono di effettuare una ricerca dei dati presenti nel database che soddisfano particolari condizioni, richieste dall’utente

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 3 Istruzione SELECT per l’interrogazione SELECT ListaAttributi FROM ListaTabelle [ WHERE Condizione ] Bisogna specificare: La "target list“ cioè la lista degli attributi interessati. clausola FROM per stabilire in quale/quali tabella/e sono contenuti i dati che ci occorrono. clausola WHERE per esprimere le condizioni che i dati cercati devono soddisfare. Le query vengono effettuate mediante il comando SELECT. Sintassi:

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 4 Target List Specificare la target list corrisponde a scegliere alcuni degli attributi della tabella o delle tabelle considerate. Implementa l’operazione di proiezione dell’algebra relazionale MatrCognomeNome tel Select Cognome, nome, tel FROM Rubrica Rubrica

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 5 Where La clausola WHERE serve a scegliere le righe della tabella che soddisfano una certa condizione. In questo modo la clausola where implementa la selezione dell’algebra relazionale MatrCognNome tel ……Pippo…… …...Mario…… ……Silvia……...…Mario…… ……Marco…… ……Mario…… SELECT * FROM Rubrica WHERE nome=‘Mario’ Rubrica

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 6 From La clausola FROM ha lo scopo di scegliere quali sono le tabelle del database da cui vogliamo estrarre le nostre informazioni. Nel caso in cui le tabelle elencate sono due, la clausola FROM, insieme con la clausola WHERE, che stabilisce quali righe delle due tabelle bisogna accoppiare, implementa il join naturale MatricolaNomeCognomeIndirizzo cod.MateriaNomeDocentestudente StudentiEsami SELECT * FROM Studenti, Esami Where Studenti.Matricola=Esami.Studente

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 7 SELECT SELECT ListaAttributi FROM ListaTabelle [ WHERE Condizione ] La query considera il prodotto cartesiano tra le tabelle in ListaTabelle (JOIN). Fra queste seleziona solo le righe che soddisfano la Condizione (SELEZIONE) e infine valuta le espressioni specificate nella target list ListaAttributi (PROIEZIONE). La SELECT implementa quindi gli operatori di Proiezione, Selezione e Join dell’algebra Relazionale, piu’ altro, che vedremo piu’ avanti.

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 8 MADREFIGLIO LuisaMaria LuisaLuigi AnnaOlga AnnaFilippo MariaAndrea MariaAldo PADREFIGLIO SergioFranco LuigiOlga LuigiFilippo FrancoAndrea FrancoAldo NOMEETAREDDITO Andrea2721 Aldo2515 Maria5542 Anna5035 Filippo2629 Luigi5040 Franco6020 Olga3041 Sergio8535 Luisa7587 Maternità Paternità Persone

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 9 Esempio query Nome e reddito delle persone con meno di trenta anni π Nome, Reddito ( σ Eta<30 (Persone)) SELECT nome, reddito FROM persone WHERE eta < 30 NomeReddito Andrea21 Aldo15 Filippo29

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 10 La target list La target list ha lo scopo di determinare quali attributi (o colonne) della/delle tabella/e si vogliono evidenziare. Corrisponde all’operazione di proiezione dell’algebra relazionale. Data una tabella e un insieme di attributi, la proiezione restituisce una tabella con tutte le righe di quella di partenza, ma con solo le colonne identificate dagli attributi

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 11 NomeEta ANDREA27 ALDO25 MARIA55 ANNA50 FILIPPO26 LUIGI50 FRANCO60 OLGA30 SERGIO85 LUISA75 Esempio: Visualizzare il nome e l’età dei dati presenti nella tabella Persone SELECT nome, eta FROM Persone

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 12 Esempio 2: Visualizzare tutte le colonne della tabella Maternita. SELECT * From Maternita MadreFiglio LuisaLuigi LuisaMaria AnnaOlga AnnaFilippo MariaAndrea MariaAldo Maternita Se si desidera visualizzare tutti gli attributi della tabella, si può semplificare la target list indicando la lista con un semplice asterisco *

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 13 Alias delle colonne L’alias serve a dare a una colonna un nome diverso rispetto a quello che è utilizzato nella definizione della tabella. Implementa l’operatore  (Ridenominazione) dell’algebra relazionale

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 14 Alias Sintassi: L’alias deve seguire immediatamente il nome di una colonna, scritto semplicemente o con le virgolette. Può essere usata opzionalmente la parola chiave AS tra il nome della colonna e l’alias richiede necessariamente le virgolette se l’alias ha degli spazi. Esempio: Select Figlio as Figlio_M From Maternita Select Figlio “Figlio madre” From Maternita

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 15 Esercizi Esercizio 1: Reperire tutti i nomi dei negozi e denominare la corrispondente colonna con “negozio”. SELECT neg_nome negozio FROM Negozi Esercizio 2: Elencare i codici dei negozi che hanno inviato ordini. Denominare la corrispondente colonna con “codice negozio”. SELECT neg_cod “codice negozio” FROM Ordini Select neg_nome as negozio FROM Negozi

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 16 Esercizi Esercizio 3: Elencare tutte le città che sono sedi di negozi SELECT neg_citta FROM negozi Esercizio 4: Elencare i nomi diversi di città che sono sede di negozi SELECT DISTINCT neg_citta FROM Negozi In tal caso si usa la clausola DISTINCT

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 17 Esercizi Esercizio 5: ottenere le informazioni relative a tutti i negozi dando alle colonne i seguenti nomi: Codice, Denominazione, Indirizzo, Citta’, Telefono SELECT neg_cod Codice, neg_nome Denominazione, neg_indirizzo Indirizzo, neg_citta Città, neg_telefono Telefono FROM Negozi

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 18 Selezione, la clausola where Con SQL è anche possibile effettuare la selezione dell‘algebra relazionale mediante la clausola WHERE. La clausola WHERE permette infatti di specificare le condizioni che devono soddisfare le righe cercate. Ovviamente la clausola WHERE è opzionale, e se si omette, si selezionano tutte le righe della tabella specificata Esempio: Nome, età e reddito delle persone con meno di trent’anni SELECT nome, eta, reddito FROM persone WHERE eta < 30

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 19 Condizioni La condizione che segue il costrutto where è una condizione Booleana. Fa quindi uso di  Operatori di confronto =,, <> (!=), =  Connettori logici AND, OR, NOT  Operatori BETWEEN, IN, LIKE, IS NULL

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 20 Operatori di confronto, esempi Selezionare le persone che si chiamano Mario SELECT * FROM Persone Where nome=‘Mario’ Selezionare gli impiegati che guadagnano più di 1200 euro SELECT * FROM Impiegato WHERE Stip>1200

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 21 Operatori di confronto, esempi Selezionare il nome e cognome delle persone che non hanno età superiore a 30 anni SELECT Nome, Cognome FROM Persone WHERE eta<=30 Selezionare tutti gli impiegati tranne quelli che lavorano nel dipartimento di Produzione. SELECT * FROM Impiegato WHERE dipartimento <> ‘Produzione’

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 22 Connettori logici, Esempi Selezionare le persone che hanno più di 30 anni e che non abitano a Palermo SELECT * FROM Persone WHERE (eta>30) AND NOT(citta=‘Palermo’) Selezionare gli impiegati che lavorano nel dipartimento di produzione e quelli che lavorano in segreteria SELECT * FROM Persone WHERE Dipart=‘Produzione’ OR Dipart=‘Segreteria’

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 23 CognomeFilialeEtàMatricola NeriMilano RossiRoma BruniMilano NULL 9553 Impiegati NeriMilano BruniMilano NULL 9553 σ Età > 40 OR Età IS NULL (Impiegati) NeriMilano BruniMilano NULL 9553 Gestione dei valori nulli Select * FROM Impiegati WHERE Eta>40 or Eta=null

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 24 Esercizi Esercizio 6: Quali sono i componenti con costo inferiore a 100,00 euro? SELECT com_descrizione FROM Componenti WHERE com_costo< Esercizio 7: Visualizzare indirizzo, città e telefono del negozio MobilMarket SELECT neg_indirizzo Indirizzo, neg_citta città, neg_telefono telefono FROM Negozi WHERE neg_nome=‘MobilMarket’

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 25 Esercizio 8: selezionare i negozi con sede a Firenze SELECT neg_nome negozio FROM Negozi WHERE neg_citta=‘Firenze’ Esercizio 9: selezionare gli articoli il cui costo lordo (con IVA) sia inferiore a 500 euro SELECT art_cod, art_descrizione FROM Articoli WHERE art_prezzo *(1+art_IVA/100)<

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 26 Esercizio 10: selezionare gli articoli il cui prezzo lordo sia inferiore a 500 euro, e le cui spese di trasporto siano superiori a 20 euro SELECT * FROM Articoli WHERE art_prezzo*(1+ art_IVA/100)<500 AND (art_spese_trasporto)>20 Esercizio 11: Selezionare i negozi la cui sede sia a Roma o a Firenze SELECT Neg_nome FROM Negozi WHERE neg_citta=‘Roma’ OR neg_citta=‘Firenze’

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 27 Uso dell’operatore BETWEEN BETWEEN consente la selezione di righe con attributi in un particolare range. Esempio: cercare gli impiegati che guadagnano tra 1000 e 1500 euro SELECT nome,cognome FROM Impiegato Where Salario between 1000 and 1500

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 28 Uso dell’operatore IN E’ usato per selezionare righe che hanno un attributo che assume valori contenuti in una lista. ESEMPIO Selezionare i nomi dei professori che tengono i corsi. di BD1, BD2, Algoritmi e Sistemi SELECT * FROM Insegnanti WHERE corso IN (‘BD1’, ‘BD2’, ‘Algoritmi’, ‘Sistemi’)

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 29 Esercizi Esercizio 12: Selezionare i componenti il cui costo sia compreso tra 50 e 100 euro SELECT * FROM Componenti WHERE com_costo BETWEEN AND Esercizio 13: Selezionare gli ordini in cui la quantità di articoli richiesti sia compresa tra 15 e30 SELECT ord_cod FROM OrdArt WHERE ordart_qta BETWEEN 15 and 30

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 30 Esercizi Esercizio 14: Selezionare tutti i negozi la cui sede sia a Firenze o Roma usando l’operatore IN SELECT neg_nome FROM Negozi WHERE neg_citta in (‘Firenze’, ‘Roma’) Esercizio 15: Selezionare i componenti con costo uguale a 100 euro o a 120 euro SELECT * FROM Componenti Where Com_costo IN (100, 120)

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 31 Uso dell’operatore LIKE LIKE è usato per effettuare ricerche “wildcard” (ossia con un simbolo jolly) di una stringa di valori. Le condizioni di ricerca possono contenere letterali, caratteri o numeri. Esistono due tipi di wildcard: % denota zero o più caratteri. _ denota un carattere.

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 32 Uso dell’operatore LIKE Esempio: Fra le persone elencate nella tabella Persone, determinare quelle il cui nome termina per ‘a’ SELECT * FROM Persone Where Cognome LIKE ‘%a’ Esempio: Selezionare le sequenze di DNA in cui ci sono almeno due simboli ‘G’ che distano 3 caratteri SELECT * FROM DNA WHERE Sequenza LIKE ‘%G___G%’ NOMEETAREDDITO Andrea2721 Maria5542 Anna5035 Olga3041 Luisa7587

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 33 Simbolo escape A volte può succedere che uno dei simboli coinvolti nel pattern matching sia proprio _ oppure %. In questo caso, si sceglie un simbolo che non è ammesso fra i simboli della stringa (supponiamo ‘#’) detto simbolo escape, nell’espressione per la ricerca si fa precedere il simbolo _ o % cercato dal simbolo escape, e poi si specifica che ‘#’ e’ il simbolo di escape. Esempio: Modelli il cui nome inizia per C_F SELECT * FROM Modelli WHERE nome_modello LIKE ‘C#_F%’ ESCAPE ‘#’

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 34 Esercizi Esercizio 16: Selezionare tutti i componenti il cui codice termina per 10 SELECT Com_denominazione FROM Componenti WHERE Com_cod LIKE ‘%10’ Esercizio 17: Selezionare tutti i negozi il cui nome inizia per M. SELECT * FROM Negozi WHERE neg_nome LIKE ‘M%’

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 35 Esercizi Esercizio 18: Selezionare tutti i componenti la cui descrizione contiene la parola ‘Tavolo’ SELECT * FROM Componenti WHERE com_descrizione LIKE ‘%Tavolo%’

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 36 Is Null L’operatore IS NULL verifica se il contenuto di un operando è null Esempio SELECT * FROM Veicoli WHERE Cilindrata IS NULL

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 37 Esercizi Esercizio: Quali sono i negozi di cui non si conosce il numero di telefono? SELECT neg_nome FROM Negozi WHERE neg_telefono IS NULL Esercizio: quali sono i componenti di cui non si conosce il laboratorio? SELECT com_descrizione FROM componenti WHERE lab_cod IS NULL

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 38 Forma negativa Tutti gli operatori descritti sono presenti anche in forma Negativa, con ovvio significato. NOT BETWEEN NOT IN NOT LIKE NOT NULL

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 39 Espressioni aritmetiche nella target list E’ possibile anche ottenere delle colonne che non sono in nessuna tabella del database, ma che sono ottenute mediante espressioni aritmetiche. Si ottengono mediante l’uso dei soliti operatori aritmetici: +, -, *, /, e funzioni aritmetiche predefinite. Le priorità sono quelle standard, ma possono essere alterate con l’uso delle parentesi

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 40 Esempio: Evidenziare i cognomi degli impiegati e il loro stipendio aumentato del 20% CognomeStip * 120/100 Rossi1440 Verdi1356 Bianchi1740 Gialli1560 NomeCognomeStip MarioRossi1200 LuigiVerdi1130 MariaBianchi1450 LuisaGialli1300 IMPIEGATO Select cognome, stip *120/100 FROM Impiegato

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 41 Esempio: Evidenziare i cognomi degli impiegati e il loro stipendio aumentato del 20%. Rinominare la colonna corrispondente al salario aumentato con la denominazione “Aumento”. CognomeAumento Rossi1440 Verdi1356 Bianchi1740 Gialli1560 NomeCognomeStip MarioRossi1200 LuigiVerdi1130 MariaBianchi1450 LuisaGialli1300 IMPIEGATO Select cognome, stip *120/100 Aumento FROM Impiegato

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 42 Esempio: Evidenziare i cognomi degli impiegati e il loro stipendio annuale, considerando che la tredicesima è il 70% dello stipendio mensile. Ridenominare la colonna corrispondente con la denominazione “Reddito annuo”. CognomeReddito Annuo Rossi15240 Verdi14351 Bianchi18415 Gialli16510 NomeCognomeStip MarioRossi1200 LuigiVerdi1130 MariaBianchi1450 LuisaGialli1300 IMPIEGATO Select cognome, stip*(12.7) as “Reddito Annuo” FROM Impiegato

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 43 Esercizi Esercizio 20: Visualizzare la tabella dei componenti con il prezzo aumentato del 10%. Esercizio 21: Calcolare il costo lordo, ovvero comprensivo di IVA del tavolo tondo (codice T100). Ridenominare la corrispondente colonna con “Prezzo lordo” SELECT com_cod codice, com_descrizione descrizione, com_costo *1.1 aumentato, lab_cod laboratorio FROM Componenti SELECT art_prezzo*(1+art_iva/100) “prezzo lordo” FROM Articoli WHERE Art_descrizione=‘Tavolo Tondo’ (o where art_cod=‘T100’)

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 44 Concatenazione di stringhe Nei comandi SQL è possibile concatenare due stringhe mediante il simbolo || Esempio: Utilizzando la tabella Paternità, visualizzare le righe: ‘Sergio padre di Franco’ ‘Luigi padre di Olga’ etc… PADREFIGLIO SergioFranco LuigiOlga LuigiFilippo FrancoAndrea FrancoAldo Paternità Select padre ||’, padre di ’|| figlio FROM paternità

30/05/2016SQL, Linguaggio per l'interrogazione di una base dati 45 Esercizi Esercizio: Per ciascun negozio visualizzare una riga del tipo Micheli: Via Landi, 189 – Roma – tel 06/ SELECT neg_nome ||’:’||neg_indirizzo||’ – ’||Neg_Citta|| ‘ – tel ’ neg_telefono Negozio FROM Negozi