SlideShare uma empresa Scribd logo
1 de 28
Linguaggio SQL
Select, from, where
Interrogare un database
Creazione del database
Lo script per creare il database è disponibile nel repository di
GitHub
https://github.com/iantomasinicola/DatabaseYimp
nel file
ScriptDatabaseBanca_MySql.sql
Interrogare un database
Schema del database
Prendiamo in considerazione l’insieme delle tabelle del nostro
database
Interrogare un database
Esercizio 1
Esercizio 1)
Selezionare:
- il codice fiscale
- la tipologia
- il numero
delle carte di credito con:
- valuta uguale a euro
- saldo strettamente maggiore di 30
Interrogare un database
Soluzione 1: struttura query
La query di selezione avrà questa struttura
SELECT ……
FROM ……
WHERE ……
Interrogare un database
Soluzione 1: clausula FROM
Molto spesso la clausula più facile da completare è la
FROM: essa dovrà contenere la tabella di riferimento
dell’estrazione. Rivediamo il nostro esercizio:
Selezionare:
- il codice fiscale
- la tipologia
- il numero
delle carte di credito con:
- valuta uguale a euro
- saldo strettamente maggiore di 30
Interrogare un database
Soluzione 1: clausula FROM
SELECT ……
FROM CarteCredito
WHERE ……
Interrogare un database
Soluzione 1: analisi tabella
A questo punto scriviamo una query preliminare
per valutare il contenuto della tabella in
questione.
SELECT *
FROM CarteCredito;
Interrogare un database
Soluzione 1: analisi tabella
Ecco il risultato
Interrogare un database
Soluzione 1: clausula WHERE
Tenendo in mente il risultato precedente,
studiamo quali condizioni devono verificare le
righe della tabella CarteCredito. Le inseriremo
nella clausula WHERE.
Selezionare:
- il codice fiscale
- la tipologia
- il numero
delle carte di credito con:
- valuta uguale a euro
- saldo strettamente maggiore di 30
Interrogare un database
Soluzione 1: clausula WHERE
La condizione valuta uguale a euro può essere tradotta in
Sql con
valuta='EUR'
Mentre la condizione saldo strettamente maggiore di 30
corrisponde a
saldo > 30
Interrogare un database
Soluzione 1: clausula WHERE
Ci resta da scegliere l’operatore logico che collegherà le due
condizioni. In questo caso devono essere entrambe
verificate, di conseguenze sceglieremo l’AND. La query
diventerà dunque
SELECT ……
FROM CarteCredito
WHERE Valuta='EUR'
AND Saldo > 30
Interrogare un database
Soluzione 1: clausola SELECT
Valutiamo infine quali informazioni devono
essere riportate. Le inseriremo nella clausula
SELECT.
Selezionare:
- il codice fiscale
- la tipologia
- il numero
delle carte di credito con:
- valuta uguale a euro
- saldo strettamente maggiore di 30
Interrogare un database
Soluzione 1: clausola SELECT
Riprendiamo in considerazione la tabella per
vedere in quali colonne sono contenute le
informazioni richieste.
Interrogare un database
Soluzione 1: query finale
Queste colonne devono essere inserite nella
select e separata da una virgola
SELECT CodiceFiscale,
Tipologia,
Carta
FROM CarteCredito
WHERE Valuta='EUR'
AND Saldo > 30
Interrogare un database
Soluzione 1: output finale
Ricordiamoci di inserire alla fine il punto e
virgola.
Interrogare un database
Esercizio 2
Esercizio 2)
Selezionare nome e cognome dei clienti con età compresa tra i
40 e i 50 anni e residenza in Puglia o in Sicilia.
Interrogare un database
Soluzione 2: analisi richiesta
Analizziamo la richiesta individuando le informazioni
necessarie, rispettivamente, per la clausola SELECT, FROM e
WHERE
Selezionare nome e cognome dei clienti con età compresa tra i
40 e i 50 anni e residenza in Puglia o in Sicilia
Interrogare un database
Soluzione 2: struttura query
Anche questa query avrà la struttura
SELECT ……
FROM ……
WHERE ……
Interrogare un database
Soluzione 2: clausula FROM
La tabella da cui estrarre le informazioni è la tabella Clienti
SELECT ……
FROM Clienti
WHERE ……
Interrogare un database
Soluzione 2: analisi tabella
Analizziamo le colonne e il contenuto della
tabella
SELECT *
FROM Clienti;
Interrogare un database
Soluzione 2: clausula WHERE
La condizione età compresa tra i 40 e i 50 anni può essere
tradotta in Sql con
eta >= 40 and eta <= 50
Mentre la condizione residenza in Puglia o in Sicilia
corrisponde a
Residenza = 'Puglia' or Residenza = 'Sicilia'
Interrogare un database
Soluzione 2: clausula WHERE
Racchiudiamo ognuna delle due condizioni tra parentesi e
colleghiamole con l’operatore AND, coerentemente con la
richiesta
SELECT ……
FROM Clienti
WHERE (eta >= 40 and eta <= 50)
AND (Residenza = 'Puglia' or
Residenza = 'Sicilia')
Interrogare un database
Soluzione 1: query finale
Inseriamo infine le colonne richieste nella
select
SELECT Nome,
Cognome
FROM Clienti
WHERE (eta >= 40 and eta <= 50)
AND (Residenza = 'Puglia' or
Residenza = 'Sicilia’);
Interrogare un database
Soluzione 2: output finale
Ricordiamoci di inserire alla fine il punto e
virgola.
Interrogare un database
Esercizio 3
Esercizio 3)
Selezionare tutte le informazioni sui conti che rispettano
almeno una delle seguenti condizioni
- la valuta è il dollaro
- la valuta è l'euro e l'importo è maggiore di 1000
Interrogare un database
Esercizio 4
Esercizio 4)
Selezionare il numero dei conti correnti che sono stati aperti
nell'ultimo trimestre del 2018 e che non sono stati chiusi.
Interrogare un database
Esercizio 5
Esercizio 5)
Selezionare il numero, il saldo dei conti correnti con valuta
euro, aperti a ottobre 2018 e ottobre 2019, con saldo
compreso tra 1000 e 2000 euro.

Mais conteúdo relacionado

Mais procurados

Unidad 2 recursividad
Unidad 2 recursividadUnidad 2 recursividad
Unidad 2 recursividadEnrique2194
 
Normalization PRESENTATION
Normalization PRESENTATIONNormalization PRESENTATION
Normalization PRESENTATIONbit allahabad
 
Lecture 04 normalization
Lecture 04 normalization Lecture 04 normalization
Lecture 04 normalization emailharmeet
 
Priority queue in DSA
Priority queue in DSAPriority queue in DSA
Priority queue in DSAjunnubabu
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTMasterCode.vn
 
Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverMasterCode.vn
 
Normalization in a Database
Normalization in a DatabaseNormalization in a Database
Normalization in a DatabaseBishrul Haq
 
EXpt 04 on EEE lab
EXpt 04 on EEE lab EXpt 04 on EEE lab
EXpt 04 on EEE lab ForaziRobin
 
Thevenin and Norton's theorem
Thevenin and Norton's theoremThevenin and Norton's theorem
Thevenin and Norton's theoremNurieJennicaD
 
Estruc datos
Estruc datosEstruc datos
Estruc datosITECO
 
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)iwanttoit
 
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NFNormalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NFBiplap Bhattarai
 
Ism normalization pine valley 2012
Ism normalization pine valley 2012Ism normalization pine valley 2012
Ism normalization pine valley 2012Akshit R Shah
 
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc19849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1Theduyet Pham
 

Mais procurados (20)

Unidad 2 recursividad
Unidad 2 recursividadUnidad 2 recursividad
Unidad 2 recursividad
 
Normalization PRESENTATION
Normalization PRESENTATIONNormalization PRESENTATION
Normalization PRESENTATION
 
Chuan
ChuanChuan
Chuan
 
Thevenin's theorem
Thevenin's theoremThevenin's theorem
Thevenin's theorem
 
Lecture 04 normalization
Lecture 04 normalization Lecture 04 normalization
Lecture 04 normalization
 
Priority queue in DSA
Priority queue in DSAPriority queue in DSA
Priority queue in DSA
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
 
Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Bài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL serverBài 2 : Các đối tượng trong CSDL - SQL server
Bài 2 : Các đối tượng trong CSDL - SQL server
 
Normalization in a Database
Normalization in a DatabaseNormalization in a Database
Normalization in a Database
 
Thevenin's theorem
Thevenin's theoremThevenin's theorem
Thevenin's theorem
 
EXpt 04 on EEE lab
EXpt 04 on EEE lab EXpt 04 on EEE lab
EXpt 04 on EEE lab
 
Thevenin and Norton's theorem
Thevenin and Norton's theoremThevenin and Norton's theorem
Thevenin and Norton's theorem
 
Estruc datos
Estruc datosEstruc datos
Estruc datos
 
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
 
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAYLuận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
Luận văn: Quản lý điểm sinh viên theo học chế tín chỉ, HAY
 
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NFNormalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
Normalization | (1NF) |(2NF) (3NF)|BCNF| 4NF |5NF
 
Ism normalization pine valley 2012
Ism normalization pine valley 2012Ism normalization pine valley 2012
Ism normalization pine valley 2012
 
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc19849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 

Mais de Nicola Iantomasi

Esercizi di Algebra lineare su autovalori e autovettori
Esercizi di Algebra lineare su autovalori e autovettoriEsercizi di Algebra lineare su autovalori e autovettori
Esercizi di Algebra lineare su autovalori e autovettoriNicola Iantomasi
 
Progettazione di un database relazionale
Progettazione di un database relazionaleProgettazione di un database relazionale
Progettazione di un database relazionaleNicola Iantomasi
 
Rango di una matrice e teorema di rouche capelli
Rango di una matrice e teorema di rouche capelliRango di una matrice e teorema di rouche capelli
Rango di una matrice e teorema di rouche capelliNicola Iantomasi
 
Linguaggio SQL: utilizzo di group by e having
Linguaggio SQL: utilizzo di group by e havingLinguaggio SQL: utilizzo di group by e having
Linguaggio SQL: utilizzo di group by e havingNicola Iantomasi
 
Creare tabelle sul database MySql
Creare tabelle sul database MySqlCreare tabelle sul database MySql
Creare tabelle sul database MySqlNicola Iantomasi
 
Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...
Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...
Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...Nicola Iantomasi
 
Fondamenti di algebra lineare, parte 1: vettori e matrici
Fondamenti di algebra lineare, parte 1: vettori e matriciFondamenti di algebra lineare, parte 1: vettori e matrici
Fondamenti di algebra lineare, parte 1: vettori e matriciNicola Iantomasi
 
Tabelle pivot e import dati su Microsoft Excel
Tabelle pivot e import dati su Microsoft ExcelTabelle pivot e import dati su Microsoft Excel
Tabelle pivot e import dati su Microsoft ExcelNicola Iantomasi
 

Mais de Nicola Iantomasi (8)

Esercizi di Algebra lineare su autovalori e autovettori
Esercizi di Algebra lineare su autovalori e autovettoriEsercizi di Algebra lineare su autovalori e autovettori
Esercizi di Algebra lineare su autovalori e autovettori
 
Progettazione di un database relazionale
Progettazione di un database relazionaleProgettazione di un database relazionale
Progettazione di un database relazionale
 
Rango di una matrice e teorema di rouche capelli
Rango di una matrice e teorema di rouche capelliRango di una matrice e teorema di rouche capelli
Rango di una matrice e teorema di rouche capelli
 
Linguaggio SQL: utilizzo di group by e having
Linguaggio SQL: utilizzo di group by e havingLinguaggio SQL: utilizzo di group by e having
Linguaggio SQL: utilizzo di group by e having
 
Creare tabelle sul database MySql
Creare tabelle sul database MySqlCreare tabelle sul database MySql
Creare tabelle sul database MySql
 
Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...
Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...
Fondamenti di algebra lineare, parte 2: sistemi lineari, autovalori e autovet...
 
Fondamenti di algebra lineare, parte 1: vettori e matrici
Fondamenti di algebra lineare, parte 1: vettori e matriciFondamenti di algebra lineare, parte 1: vettori e matrici
Fondamenti di algebra lineare, parte 1: vettori e matrici
 
Tabelle pivot e import dati su Microsoft Excel
Tabelle pivot e import dati su Microsoft ExcelTabelle pivot e import dati su Microsoft Excel
Tabelle pivot e import dati su Microsoft Excel
 

Linguaggio SQL: utilizzo di select, from e where

  • 2. Interrogare un database Creazione del database Lo script per creare il database è disponibile nel repository di GitHub https://github.com/iantomasinicola/DatabaseYimp nel file ScriptDatabaseBanca_MySql.sql
  • 3. Interrogare un database Schema del database Prendiamo in considerazione l’insieme delle tabelle del nostro database
  • 4. Interrogare un database Esercizio 1 Esercizio 1) Selezionare: - il codice fiscale - la tipologia - il numero delle carte di credito con: - valuta uguale a euro - saldo strettamente maggiore di 30
  • 5. Interrogare un database Soluzione 1: struttura query La query di selezione avrà questa struttura SELECT …… FROM …… WHERE ……
  • 6. Interrogare un database Soluzione 1: clausula FROM Molto spesso la clausula più facile da completare è la FROM: essa dovrà contenere la tabella di riferimento dell’estrazione. Rivediamo il nostro esercizio: Selezionare: - il codice fiscale - la tipologia - il numero delle carte di credito con: - valuta uguale a euro - saldo strettamente maggiore di 30
  • 7. Interrogare un database Soluzione 1: clausula FROM SELECT …… FROM CarteCredito WHERE ……
  • 8. Interrogare un database Soluzione 1: analisi tabella A questo punto scriviamo una query preliminare per valutare il contenuto della tabella in questione. SELECT * FROM CarteCredito;
  • 9. Interrogare un database Soluzione 1: analisi tabella Ecco il risultato
  • 10. Interrogare un database Soluzione 1: clausula WHERE Tenendo in mente il risultato precedente, studiamo quali condizioni devono verificare le righe della tabella CarteCredito. Le inseriremo nella clausula WHERE. Selezionare: - il codice fiscale - la tipologia - il numero delle carte di credito con: - valuta uguale a euro - saldo strettamente maggiore di 30
  • 11. Interrogare un database Soluzione 1: clausula WHERE La condizione valuta uguale a euro può essere tradotta in Sql con valuta='EUR' Mentre la condizione saldo strettamente maggiore di 30 corrisponde a saldo > 30
  • 12. Interrogare un database Soluzione 1: clausula WHERE Ci resta da scegliere l’operatore logico che collegherà le due condizioni. In questo caso devono essere entrambe verificate, di conseguenze sceglieremo l’AND. La query diventerà dunque SELECT …… FROM CarteCredito WHERE Valuta='EUR' AND Saldo > 30
  • 13. Interrogare un database Soluzione 1: clausola SELECT Valutiamo infine quali informazioni devono essere riportate. Le inseriremo nella clausula SELECT. Selezionare: - il codice fiscale - la tipologia - il numero delle carte di credito con: - valuta uguale a euro - saldo strettamente maggiore di 30
  • 14. Interrogare un database Soluzione 1: clausola SELECT Riprendiamo in considerazione la tabella per vedere in quali colonne sono contenute le informazioni richieste.
  • 15. Interrogare un database Soluzione 1: query finale Queste colonne devono essere inserite nella select e separata da una virgola SELECT CodiceFiscale, Tipologia, Carta FROM CarteCredito WHERE Valuta='EUR' AND Saldo > 30
  • 16. Interrogare un database Soluzione 1: output finale Ricordiamoci di inserire alla fine il punto e virgola.
  • 17. Interrogare un database Esercizio 2 Esercizio 2) Selezionare nome e cognome dei clienti con età compresa tra i 40 e i 50 anni e residenza in Puglia o in Sicilia.
  • 18. Interrogare un database Soluzione 2: analisi richiesta Analizziamo la richiesta individuando le informazioni necessarie, rispettivamente, per la clausola SELECT, FROM e WHERE Selezionare nome e cognome dei clienti con età compresa tra i 40 e i 50 anni e residenza in Puglia o in Sicilia
  • 19. Interrogare un database Soluzione 2: struttura query Anche questa query avrà la struttura SELECT …… FROM …… WHERE ……
  • 20. Interrogare un database Soluzione 2: clausula FROM La tabella da cui estrarre le informazioni è la tabella Clienti SELECT …… FROM Clienti WHERE ……
  • 21. Interrogare un database Soluzione 2: analisi tabella Analizziamo le colonne e il contenuto della tabella SELECT * FROM Clienti;
  • 22. Interrogare un database Soluzione 2: clausula WHERE La condizione età compresa tra i 40 e i 50 anni può essere tradotta in Sql con eta >= 40 and eta <= 50 Mentre la condizione residenza in Puglia o in Sicilia corrisponde a Residenza = 'Puglia' or Residenza = 'Sicilia'
  • 23. Interrogare un database Soluzione 2: clausula WHERE Racchiudiamo ognuna delle due condizioni tra parentesi e colleghiamole con l’operatore AND, coerentemente con la richiesta SELECT …… FROM Clienti WHERE (eta >= 40 and eta <= 50) AND (Residenza = 'Puglia' or Residenza = 'Sicilia')
  • 24. Interrogare un database Soluzione 1: query finale Inseriamo infine le colonne richieste nella select SELECT Nome, Cognome FROM Clienti WHERE (eta >= 40 and eta <= 50) AND (Residenza = 'Puglia' or Residenza = 'Sicilia’);
  • 25. Interrogare un database Soluzione 2: output finale Ricordiamoci di inserire alla fine il punto e virgola.
  • 26. Interrogare un database Esercizio 3 Esercizio 3) Selezionare tutte le informazioni sui conti che rispettano almeno una delle seguenti condizioni - la valuta è il dollaro - la valuta è l'euro e l'importo è maggiore di 1000
  • 27. Interrogare un database Esercizio 4 Esercizio 4) Selezionare il numero dei conti correnti che sono stati aperti nell'ultimo trimestre del 2018 e che non sono stati chiusi.
  • 28. Interrogare un database Esercizio 5 Esercizio 5) Selezionare il numero, il saldo dei conti correnti con valuta euro, aperti a ottobre 2018 e ottobre 2019, con saldo compreso tra 1000 e 2000 euro.