1 / 32

Interrogazione di una base di dati relazionale

Interrogazione di una base di dati relazionale. SQL. SQL (Structured Query Language). Linguagio standard per la definizione, l’interrogazione e la manipolazione di basi di dati relazionali. Terminologia. Relazione Table Attributo Column Tupla Row Dominio Data type.

will
Download Presentation

Interrogazione di una base di dati relazionale

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interrogazione di una base di dati relazionale SQL

  2. SQL (Structured Query Language) Linguagio standard per la definizione, l’interrogazione e la manipolazione di basi di dati relazionali

  3. Terminologia Relazione Table Attributo Column Tupla Row Dominio Data type

  4. Costrutto SELECT select A1, A2,…An from R1, R2,…Rk  where C  dove: • R1, R2,…Rk sono nomi (non necessariamente distinti) di relazioni • A1, A2,…An sono attributi negli schemi di R1, R2,…Rk • C è una condizione

  5. Costrutto SELECT select A1, A2,…An from R1, R2,…Rk  where C ; fornisce una multinsieme (un elemento può comparire più volte) che differisce dalla relazione (insieme) A1,A2,…AnCR1 x R2 x …x Rk solo per le ripetizioni di elementi

  6. select Nome from Cliente; Nome(Cliente)

  7. Clausola SELECT(opzione DISTINCT) select Nome from Cliente; selectdistinct Nome from Cliente;

  8. Clausola SELECT(opzione ALIAS) select Nome as Cognome,CodC as Codice, Comune as Residenza from Cliente;

  9. Clausola SELECT(opzione *) select* from Cliente;

  10. Clausola FROM(opzione ALIAS) select C.Nome from Cliente C;

  11. Clausola WHERE La condizione nella clausola where è un’espressione booleana (operatori: and, or, not). Vi possono comparire relazioni di: • confronto • appartenenza insiemistica • somiglianza ortografica

  12. Relazioni di confronto select* from Cliente where Comune=‘Milano’ or Comune=‘Napoli’; Dati dei clienti che risiedono a Milano o a Napoli

  13. Relazioni di confronto select* from Cliente where Nome=‘Rossi’ and (Comune=‘Milano’ or Comune=‘Napoli’); Dati dei clienti che si chiamano Rossi e risiedono a Milano o a Napoli

  14. Relazioni di confronto Dati dei clienti che si chiamano Rossi e risiedono a Milano oppure che risiedono a Napoli select* from Cliente where Nome=‘Rossi’ and Comune=‘Milano’ or Comune=‘Napoli’;

  15. Relazioni di confronto select Nome, C.CodC, Comune from Cliente C,Ordine O where N-pezzi>100 and C.CodC=O.CodC; Dati dei clienti che hanno ordinato più di 100 pezzi di un articolo

  16. Relazioni di confronto select Nome from Cliente C,Ordine O,Articolo A where C.CodC=O.CodC and O.CodA=A.CodA and Prezzo>3; Nomi dei clienti che hanno ordinato almeno un articolo con prezzo superiore a 3

  17. Relazioni di appartenenza insiemistica select* from Cliente where Comune in(‘Milano’,‘Napoli’); Dati dei clienti che risiedono a Milano o a Napoli select* from Cliente where Comune=‘Milano’ or Comune=‘Napoli’;

  18. Relazioni di appartenenza insiemistica Dati dei clienti che hanno ordinato più di 100 pezzi di un articolo select * from Cliente where CodC in (select CodC from Ordine where N-pezzi>100); select Nome, C.CodC, Comune from Cliente C,Ordine O where N-pezzi>100 and C.CodC=O.CodC;

  19. Relazioni di appartenenza insiemistica select Nome from Cliente where CodC in (select CodC from Ordine where CodA in (select CodA from Articolo where Prezzo>3)); Nomi dei clienti che hanno ordinato almeno un articolo con prezzo superiore a 3

  20. Relazioni di appartenenza insiemistica select *from Ordine where CodC in (select CodC from Cliente where Nome=‘Rossi) and CodA in (select CodA from Articolo where Tipo=‘Tazza’); Dati degli ordini di tazze effettuati da Rossi

  21. Relazioni di somiglianza ortografica Dati dei clienti i cui nomi iniziano per ‘B’ select* from Cliente where Nome like ‘B*’;

  22. Funzioni di insieme Numero di clienti i cui nomi iniziano per ‘R’ select count(Nome) from Cliente where Nome like ‘R*’;

  23. Funzioni di insieme select count(distinct Nome) from Cliente where Nome like ‘R*’; Numero di nomi di clienti che iniziano per ‘R’

  24. Funzioni di insieme select min(Prezzo), max(Prezzo), avg(Prezzo) from Articolo; Prezzo minimo, massimo e medio degli articoli

  25. Funzioni di insieme select * from Articolo where Prezzo in (select max(Prezzo) from Articolo); Dati degli articoli con prezzo massimo select * from Articolo where Prezzo = (select max(Prezzo) from Articolo);

  26. Funzioni di insieme select CodC,CodA,sum(N-pezzi) from Ordine group by CodC,CodA; Per ogni cliente e per ogni articolo Il numero complessivo di pezzi dell’articolo ordinati dal cliente

  27. Funzioni di insieme select CodC, count(*) from Ordine where N-pezzi>100 group by CodC having CodC>’C2’; Per ogni cliente con codice maggiore di C2, numero di ordini per più di 100 pezzi che ha effettuato

  28. Ordinamento select * from Cliente order by Nome Clienti in ordine alfabetico per nome

  29. Ordinamento select * from Cliente order by Nome,Comune Clienti in ordine alfabetico per nome e quelli con lo stesso nome ordinati per Comune

  30. Ordinamento Articoli in ordine alfabetico per Tipo e quelli con lo stesso Tipo ordinati in ordine decrescente per prezzo select * from Articolo order by Tipo,Prezzo desc;

  31. Costrutto SELECT select <lista di attributi e funzioni> from <lista di tabelle>  where <condizione>  group by <lista attributi di raggruppamento>  having <condizione di raggruppamento>  order by <lista attributi>

  32. Clausola FROM (opzione ALIAS) select Imp.Cognome, Imp.Stip, Capo.Cognome, Capo.Stip, from Impiegato Imp, Impiegato Capo where Imp.Sup=Capo.I and Imp.Stip>Capo.Stip Quali impiegati guadagnano più del loro superiore

More Related