SlideShare ist ein Scribd-Unternehmen logo
1 von 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.

Weitere ähnliche Inhalte

Was ist angesagt?

Database system utilities by dinesh
Database system utilities by dineshDatabase system utilities by dinesh
Database system utilities by dineshDinesh Kumar
 
Aggregating Data Using Group Functions
Aggregating Data Using Group FunctionsAggregating Data Using Group Functions
Aggregating Data Using Group FunctionsSalman Memon
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to databasePradnya Saval
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sqlByron Eras
 
Progettazione di un database relazionale
Progettazione di un database relazionaleProgettazione di un database relazionale
Progettazione di un database relazionaleNicola Iantomasi
 
Data abstraction in DBMS
Data abstraction in DBMSData abstraction in DBMS
Data abstraction in DBMSPapan Sarkar
 
Keys in dbms
Keys in dbmsKeys in dbms
Keys in dbmsshalini s
 
Relational algebra (basics)
Relational algebra (basics)Relational algebra (basics)
Relational algebra (basics)usama nizam
 
Previous question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEBPrevious question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEBShabeeb Shabi
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model IntroductionNishant Munjal
 
Database Q&A
Database  Q&ADatabase  Q&A
Database Q&Aeduafo
 
Desigining of Database - ER Model
Desigining of Database - ER ModelDesigining of Database - ER Model
Desigining of Database - ER ModelAjay Chhimpa
 
Database Concepts and Components
Database Concepts and ComponentsDatabase Concepts and Components
Database Concepts and ComponentsRIAH ENCARNACION
 
SQL Queries Information
SQL Queries InformationSQL Queries Information
SQL Queries InformationNishant Munjal
 
Functional dependancy
Functional dependancyFunctional dependancy
Functional dependancyVisakh V
 

Was ist angesagt? (20)

Entity relationship modelling
Entity relationship modellingEntity relationship modelling
Entity relationship modelling
 
DBMS: Types of keys
DBMS:  Types of keysDBMS:  Types of keys
DBMS: Types of keys
 
Database system utilities by dinesh
Database system utilities by dineshDatabase system utilities by dinesh
Database system utilities by dinesh
 
Aggregating Data Using Group Functions
Aggregating Data Using Group FunctionsAggregating Data Using Group Functions
Aggregating Data Using Group Functions
 
Introduction to database
Introduction to databaseIntroduction to database
Introduction to database
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Database introduzione
Database introduzioneDatabase introduzione
Database introduzione
 
Progettazione di un database relazionale
Progettazione di un database relazionaleProgettazione di un database relazionale
Progettazione di un database relazionale
 
Data abstraction in DBMS
Data abstraction in DBMSData abstraction in DBMS
Data abstraction in DBMS
 
Keys in dbms
Keys in dbmsKeys in dbms
Keys in dbms
 
Relational algebra (basics)
Relational algebra (basics)Relational algebra (basics)
Relational algebra (basics)
 
Previous question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEBPrevious question papers of Database Management System (DBMS) By SHABEEB
Previous question papers of Database Management System (DBMS) By SHABEEB
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model Introduction
 
Mysql
MysqlMysql
Mysql
 
DBMS Part1.pptx
DBMS Part1.pptxDBMS Part1.pptx
DBMS Part1.pptx
 
Database Q&A
Database  Q&ADatabase  Q&A
Database Q&A
 
Desigining of Database - ER Model
Desigining of Database - ER ModelDesigining of Database - ER Model
Desigining of Database - ER Model
 
Database Concepts and Components
Database Concepts and ComponentsDatabase Concepts and Components
Database Concepts and Components
 
SQL Queries Information
SQL Queries InformationSQL Queries Information
SQL Queries Information
 
Functional dependancy
Functional dependancyFunctional dependancy
Functional dependancy
 

Mehr von 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
 
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
 

Mehr von Nicola Iantomasi (7)

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