SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

Monopolistic Competition Micro Economics ECO101
Monopolistic Competition Micro Economics ECO101Monopolistic Competition Micro Economics ECO101
Monopolistic Competition Micro Economics ECO101Sabih Kamran
 
2.3 theory of the firm - web version
2.3   theory of the firm - web version2.3   theory of the firm - web version
2.3 theory of the firm - web versionAndrew McCarthy
 
MYSQL Aggregate Functions
MYSQL Aggregate FunctionsMYSQL Aggregate Functions
MYSQL Aggregate FunctionsLeroy Blair
 
Multiple Inheritance
Multiple InheritanceMultiple Inheritance
Multiple InheritanceBhavyaJain137
 
Sql delete, truncate, drop statements
Sql delete, truncate, drop statementsSql delete, truncate, drop statements
Sql delete, truncate, drop statementsVivek Singh
 
Chapter 02 presentation
Chapter 02 presentationChapter 02 presentation
Chapter 02 presentationjohn3092
 
Data types and operators in vb
Data types and operators  in vbData types and operators  in vb
Data types and operators in vballdesign
 
Sql group functions
Sql group functionsSql group functions
Sql group functionsSumit Tambe
 
Excel: calcolare il costo del prodotto
Excel: calcolare il costo del prodottoExcel: calcolare il costo del prodotto
Excel: calcolare il costo del prodottoSin Tesi Forma
 
Abstraction and Encapsulation
Abstraction and EncapsulationAbstraction and Encapsulation
Abstraction and EncapsulationCheezy Code
 
EdExcel Micro Economics Unit 1
EdExcel Micro Economics Unit 1EdExcel Micro Economics Unit 1
EdExcel Micro Economics Unit 1tutor2u
 
DDL And DML
DDL And DMLDDL And DML
DDL And DMLpnp @in
 
SQL window functions for MySQL
SQL window functions for MySQLSQL window functions for MySQL
SQL window functions for MySQLDag H. Wanvik
 

Tendances (20)

Monopolistic Competition Micro Economics ECO101
Monopolistic Competition Micro Economics ECO101Monopolistic Competition Micro Economics ECO101
Monopolistic Competition Micro Economics ECO101
 
Isoquants
IsoquantsIsoquants
Isoquants
 
LIST IN PYTHON
LIST IN PYTHONLIST IN PYTHON
LIST IN PYTHON
 
2.3 theory of the firm - web version
2.3   theory of the firm - web version2.3   theory of the firm - web version
2.3 theory of the firm - web version
 
MYSQL Aggregate Functions
MYSQL Aggregate FunctionsMYSQL Aggregate Functions
MYSQL Aggregate Functions
 
Sql operators & functions 3
Sql operators & functions 3Sql operators & functions 3
Sql operators & functions 3
 
Sql query [select, sub] 4
Sql query [select, sub] 4Sql query [select, sub] 4
Sql query [select, sub] 4
 
Multiple Inheritance
Multiple InheritanceMultiple Inheritance
Multiple Inheritance
 
Sql delete, truncate, drop statements
Sql delete, truncate, drop statementsSql delete, truncate, drop statements
Sql delete, truncate, drop statements
 
Chapter 02 presentation
Chapter 02 presentationChapter 02 presentation
Chapter 02 presentation
 
concept of oops
concept of oopsconcept of oops
concept of oops
 
Data types and operators in vb
Data types and operators  in vbData types and operators  in vb
Data types and operators in vb
 
DATABASE MANAGEMENT SYSTEM LAB.pdf
DATABASE MANAGEMENT SYSTEM LAB.pdfDATABASE MANAGEMENT SYSTEM LAB.pdf
DATABASE MANAGEMENT SYSTEM LAB.pdf
 
Sql group functions
Sql group functionsSql group functions
Sql group functions
 
Excel: calcolare il costo del prodotto
Excel: calcolare il costo del prodottoExcel: calcolare il costo del prodotto
Excel: calcolare il costo del prodotto
 
Abstraction and Encapsulation
Abstraction and EncapsulationAbstraction and Encapsulation
Abstraction and Encapsulation
 
EdExcel Micro Economics Unit 1
EdExcel Micro Economics Unit 1EdExcel Micro Economics Unit 1
EdExcel Micro Economics Unit 1
 
C# classes objects
C#  classes objectsC#  classes objects
C# classes objects
 
DDL And DML
DDL And DMLDDL And DML
DDL And DML
 
SQL window functions for MySQL
SQL window functions for MySQLSQL window functions for MySQL
SQL window functions for MySQL
 

Plus 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
 

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