Quisito SQL

1nostromo

Nuovo Utente
25 Ago 2014
29
0
0
Buona sera, visto la votra grande esperienza in metito, non avrete di certo difficoltà a risolvere degli esercizzi di SQL che ho trovato in rete. Finche si tratta di una tabella 'anche ai vostri insegnamenti' non ho grandi problemi i miei limiti si accentuano quando si tratta di estrapolare dei dati in più tabelle correlate, come immagino che siano queste sotto indicate. Con la Vostra bravura, sicuramente non troverete nessuna difficoltà a risorverli. Vi prego di scirvere i codici, modo ch'io possa studiarmeli. Grazie delle vostra collaborazione, i quisiti sono;

Il database costituito dalle tabelle Cacciatori, Pescatori e Scalatori appartiene ad un circolo sportivo e contiene i nominativi degli iscritti a tale circolo. Gli iscritti sono raggruppati sulle tabelle in base allo sport che essi fanno. Chiaramente la stessa persona può fare più di uno sport e quindi comparire in più di una tabella. Per gli esercizi seguenti faremo riferimento a questo piccolo database.

CACCIATORI PESCATORI SCALATORI
Codice Nome Codice Nome Codice Nome
35 ROSSI 4 ROSSI 27 NERI
27 NERI 77 MANCINI 11 MARCA
12 BINACHI 49 CRUCIANI 1 MICHELI
2 BISCARDI 11 MARCA 2 BISCARDI
11) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo.
12) Scrivere una query per visualizzare i cacciatori che non siano anche scalatori.
13) Scrivere una query per visualizzare gli scalatori che non siano anche cacciatori.
14) Scrivere una query per visualizzare i pescatori che siano anche cacciatori.
15) Se dovessimo scrivere una query per visualizzare i cacciatori che siano anche pescatori potremmo
utilizzare la soluzione dell’esercizio N° 14?
16) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo il cui nome finisce con ‘I’ e ci sia
almeno una ‘A’.
17) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo il cui nome finisce con ‘I’ o ci sia
almeno una ‘A’
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
riferimento a questo piccolo database
Codice:
use tempDB

Create table CACCIATORI
( 
  id	int,
  nome	varchar(20)
) 

Insert into CACCIATORI
Select 35, 'ROSSI'
Union All
Select 27, 'NERI'
Union All
select 12, 'BIANCHI'
Union All 
Select 2, 'BISCARDI'


Create table PESCATORI
( 
  id	int,
  nome	varchar(20)
) 

Insert into PESCATORI
Select 4, 'ROSSI'
Union All
Select 77, 'MANCINI'
Union All
select 49, 'CRUCIANI'
Union All 
Select 11, 'MARCA'
Union All
select 12, 'BIANCHI'


Create table SCALATORI
( 
  id	int,
  nome	varchar(20)
) 

Insert into SCALATORI
Select 27, 'NERI'
Union All 
Select 11, 'MARCA'
Union All
Select 1, 'MICHELI'
Union All
Select 2, 'BISCARDI'

11) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo
Codice:
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
order by s.nome, s.id

12 BIANCHI
2 BISCARDI
49 CRUCIANI
77 MANCINI
11 MARCA
1 MICHELI
27 NERI
4 ROSSI
35 ROSSI

12) Scrivere una query per visualizzare i cacciatori che non siano anche scalatori
Codice:
select * from CACCIATORI where not exists 
( select id from SCALATORI where SCALATORI.id=CACCIATORI.id )
order by nome, id

12 BIANCHI
35 ROSSI

13) Scrivere una query per visualizzare gli scalatori che non siano anche cacciatori
come 12 con CACCIATORI e SCALATORI scambiati


14) Scrivere una query per visualizzare i pescatori che siano anche cacciatori
Codice:
select * from PESCATORI where exists 
( select id from CACCIATORI where CACCIATORI.id=PESCATORI.id )
order by nome, id

12 BIANCHI (inserito da me, giusto per averne 1)

15) Se dovessimo scrivere una query per visualizzare i cacciatori che siano anche pescatori potremmo
utilizzare la soluzione dell’esercizio N° 14?
SI scambiando ...


16) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo il cui nome finisce con ‘I’
e ci sia almeno una ‘A’.
Codice:
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
where s.nome like '%I' and  s.nome like '%A%'
order by s.nome, s.id

12 BIANCHI
2 BISCARDI
49 CRUCIANI
77 MANCINI

17) Scrivere una query per visualizzare tutti i nominativi iscritti al circolo il cui nome finisce con ‘I’
o ci sia almeno una ‘A’
Codice:
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
where s.nome like '%I' or  s.nome like '%A%'
order by s.nome, s.id

12 BIANCHI
2 BISCARDI
49 CRUCIANI
77 MANCINI
11 MARCA
1 MICHELI
27 NERI
4 ROSSI
35 ROSSI
buon ... studio
ciao
Marino
 

1nostromo

Nuovo Utente
25 Ago 2014
29
0
0
Quisito DataBase

Codice:
use tempDB

Create table CACCIATORI
( 
  id	int,
  nome	varchar(20)
) 

Insert into CACCIATORI
Select 35, 'ROSSI'
Union All
Select 27, 'NERI'
Union All
select 12, 'BIANCHI'
Union All 
Select 2, 'BISCARDI'


Create table PESCATORI
( 
  id	int,
  nome	varchar(20)
) 

Insert into PESCATORI
Select 4, 'ROSSI'
Union All
Select 77, 'MANCINI'
Union All
select 49, 'CRUCIANI'
Union All 
Select 11, 'MARCA'
Union All
select 12, 'BIANCHI'


Create table SCALATORI
( 
  id	int,
  nome	varchar(20)
) 

Insert into SCALATORI
Select 27, 'NERI'
Union All 
Select 11, 'MARCA'
Union All
Select 1, 'MICHELI'
Union All
Select 2, 'BISCARDI'


Codice:
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
order by s.nome, s.id




Codice:
select * from CACCIATORI where not exists 
( select id from SCALATORI where SCALATORI.id=CACCIATORI.id )
order by nome, id




come 12 con CACCIATORI e SCALATORI scambiati



Codice:
select * from PESCATORI where exists 
( select id from CACCIATORI where CACCIATORI.id=PESCATORI.id )
order by nome, id




SI scambiando ...



Codice:
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
where s.nome like '%I' and  s.nome like '%A%'
order by s.nome, s.id




Codice:
select distinct s.* from (
select * from CACCIATORI
union
select * from PESCATORI
union
select * from SCALATORI
) s
where s.nome like '%I' or  s.nome like '%A%'
order by s.nome, s.id


buon ... studio
ciao
Marino
Buona sera Sig.Mario.
:mavieni: Fortissimo! Non avevo dubbi della vostra bravura, non ci sarei arrivato a tutto questo da solo. Una piccola domanda, quella 's' a cosa serve? Non vorrei dire una stupidata, è una abbreviazione di select? Grazie dell'aiuto. Oscar:byebye:
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
Buona sera Oscar, MARINO non Mario ...
la select fatta in quel modo, può essere paragonata ad una tabella virtuale, a cui si assegna un nome, al fine di identificare le colonne in essa contenute, io ho scelto "s" ma poteva essere altro ...
saluti
Marino
 

1nostromo

Nuovo Utente
25 Ago 2014
29
0
0
Buona sera Oscar, MARINO non Mario ...
la select fatta in quel modo, può essere paragonata ad una tabella virtuale, a cui si assegna un nome, al fine di identificare le colonne in essa contenute, io ho scelto "s" ma poteva essere altro ...
saluti
Marino

Buona sera sig.Marino scusi per la gaf. Ho capito la spiegazione, ho chiesto aiuto perchè nella parte che stò leggendo del corso SQL, non vi sono riportati o tantomeno spiegati i vari order, exists, union, sicuramente sarà spiegato un pò più in là, per cui non sarei mai e poi mai riuscito a comporre quelle query. Grazie di nuovo. Oscar
 
Discussioni simili
Autore Titolo Forum Risposte Data
1 Quisito SQL MS Access 0
E Help Sql somma orari PHP 32
G Importazione file .sql Web Server 0
D data in sql in formato ITA PHP 4
L Studio SQL 2104 o SQL2019 Mac m1 Database 0
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
D passare valori da database sql a php PHP 1
B Stringa sql per ricerca su più campi Database 1
L Interfaccia grafica per gestire sql server .NET Framework 1
L Front-end SQL server Database 0
W Query SQL Classic ASP 2
R Filtro multiplo di selezione Sql PHP 2
Emix Select concatenate php sql ajax PHP 2
C Estrarre dati stringa Sql Database 1
W Mandare a capo valore di SQL Classic ASP 2
G non riesco a capire quale sia l'errore [SQL] MySQL 2
M modificare un file .XML da database Sql PHP 13
M Update con condizione SQL PHP 7
Alex_70 sql importazione dati MySQL 0
Tommy03 Algoritmo classifica SQL MySQL 0
L form multipla php sql,errore in inserimento MySQL 0
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
L Insert php sql da una form multipla PHP 6
moustache [RISOLTO] SQL PHP IIS PHP 8
WebmasterFioriniAndrea SQL, PHP Come passo i dati da una tabella? PHP 1
S Istruzione sql valori "simili" PHP 7
WebmasterFioriniAndrea [MySQL] sql attributi con nome uguale MySQL 0
D [MySQL] [PHP] SQL andare da capo MySQL 0
felino [Wordpress][WooCommerce] Ripristino ordini da file .sql WordPress 0
A [PHP] registrazione utente in un database sql con confronto PHP 1
S elimina record sql asp classic Classic ASP 5
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
G sql select con array in php PHP 1
B [Visual Basic] Passaggio variabili da un progetto all'altro (Visual Studio 2017 C#/SQL) Visual Basic 0
trattorino [PHP] sql estrarre in base all'ultima visita PHP 4
S SQL, ACCESS & ASP CLASSIC - QUERY Classic ASP 3
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
P [Visual Basic] access sql estrarre id vendite x cli e articolo con data maggiore del recordset Visual Basic 2
trattorino [PHP] sql aggiungere dato in una tabella senza cancellare contenuto PHP 6
P [MySQL] MODELLO ER, XAMPP E HEIDI SQL MySQL 0
V [MySQL] You have an error in your SQL syntax MySQL 1
Merlina3377 php insert dati su tabella sql PHP 9
G [MySQL] Errore importazione tabella .sql #1062 - Duplicate entry '592' for key 'PRIMARY' MySQL 20
A Retribuito: Sviluppatore Asp classico esperto in sicurezza webserver IIS e SQL Offerte e Richieste di Lavoro e/o Collaborazione 0
N [Java] codice per inserimento sql Java 0
V [PHP] Estrazione con SQL PHP 1
G albero categorie articolo sql Database 4
K [ASP.Net] Problema stampa e modifica ms sql ASP.NET 0

Discussioni simili