La solution d'Exercice SQL Corrigé : SQL revisité Base de données "Bus Dépôts"




 
/ * Question 1 Liste de tous les chauffeurs de bus (numéro et nom) qui ont un salaire de moins de 1 800 * /


Select bdNo,bdName

from BusDriver
where bdSalary < 1800;

BDNO
BDNAME
006
Sally Smith
007
James Bond
009
Jack Jones

 

/ * Question 2 Liste de tous les chauffeurs de bus (numéro et nom) dont le nom commence par la lettre J. * /


Select bdNo,bdName

from BusDriver
where bdName like ‘J%’;

BDNO
BDNAME
001
Jane Brown
007
James Bond
009
Jack Jones
011
John Peel


 

/ * Question 3 Liste tous les chauffeurs d'autobus de détails pour les conducteurs qui ont un salaire entre 2000 et 4000 * /


Select *

from BusDriver
where bdSalary between 2000 and 4000;

BDNO
BDNAME
BDSALARY
PCVDATE
DNO
008
Maggie May
2420
09-JAN-00
102
010
Peter Piper
3500
09-JUN-04
104
011
John Peel
2000
09-FEB-05
102

 

/ * Question 4 Liste tous les bus (numéro d'enregistrement et le modèle) de type 2 qui ne sont pas fondées au dépôt 101. * /


select regNo, model

from Bus
where tNo = ‘2’
and dNo <> ‘101’;


REGNO
MODEL
P200IJK
Mercedes 709D

 

/ * Question 5 bus de liste (tous les détails) qui sont soit des modèles Volvo ou Mercedes. Modèles * /


select *

from Bus
where model like ‘Volvo%’
or model like ‘Mercedes%’;


REGNO
MODEL
TNO
DNO
CNO
D678FGH
Volvo 8700
2
101
110
D345GGG
Volvo 8500
1
101
112
P200IJK
Mercedes 709D
2
102
113
P300RTY
Mercedes Citaro
4
102
113

select *
from Bus
where model like 'Volvo%'
and model like 'Mercedes%';

pas de lignes sélectionnées

/ * Question 6 Liste tous les numéros de dépôt dans le tableau . Maintenant éliminer tous les doublons.

select dNo from Bus;


DNO
101
101
101
102
102
102
 

7 lignes sélectionnées

select distinct dNo from Bus;

DNO
101
 
102

 


/ * Question 7 Liste tous les nettoyeurs (numéro et nom) avec le nom et l'adresse de leur dépôt, mais seulement ceux nettoyants situées dans un dépôt * /

Select cNo,cName,dName, dAddress
from Cleaner c, Depot d
where c.dNo = d.dNo;

CNO
CNAME
DNAME
DADDRESS
110
John
Holloway
Camden Road
111
Jean
Holloway
Camden Road
112
Betty
Hornsey
High Road
113
Vince
Hornsey
High Road
114
Jay
Hornsey
High Road
115
Doug
Hornsey
High Road
 
lignes sélectionnées
/ * Question 8 Liste des chauffeurs de bus (numéro et nom) et les types de bus (la description) pour chaque conducteur a reçu une formation. * /

Select bd.bdNo,bdName,tDescript
from BusDriver bd, Training t, BusType bt
where bd.bdNo = t.bdNo
and t.tNo = bt.tNo;

BDNO
BDNAME
TDESCRIPT
001
Jane Brown
doubledecker
001
Jane Brown
metrobus
006
Sally Smith
metrobus
007
James Bond
doubledecker
007
James Bond
metrobus
007
James Bond
midibus
008
Maggie May
metrobus
008
Maggie May
midibus
008
Maggie May
bendy bus
009
Jack Jones
midibus
009
Jack Jones
bendy bus
011
John Peel
doubledecker
011
John Peel
metrobus
011
John Peel
midibus
011
John Peel
bendy bus
011
John Peel
open top

 
16 lignes sélectionnés   
/ * Question 9 Liste tous les nettoyeurs (numéro et nom), le nom de leur dépôt, et les numéros d'immatriculation de bus avec le type de bus qu'ils sont responsables. * /

Select c.cNo,cName,dName,regNo,tDescript
from Cleaner c, Depot d, Bus b, BusType bt
where c.dNo = d.dNo
and c.cNo = b.cNo
and b.tNo = bt.tNo;

CNO
CNAME
DNAME
REGNO
TDESCRIPT
110
John
Holloway
A123ABC
doubledecker
110
John
Holloway
D678FGH
metrobus
112
Betty
Hornsey
D345GGG
doubledecker
114
Jay
Hornsey
H259IJK
midibus
113
Vince
Hornsey
P200IJK
metrobus
113
Vince
Hornsey
P300RTY
bendy bus
110
John
Holloway
R678FDS
doubledecker
 
7 lignes sélectionnés
/ * Question 10 de question Rewrite 7 comme une jointure externe. Décrire la requête en anglais. Maintenant, la liste de tous les nettoyeurs (numéro et nom), le nom de leur dépôt et les numéros d'immatriculation de bus avec le type de bus qu'ils sont responsables, y compris les produits de nettoyage qui ne sont pas affectés à un bus ou un dépôt.

Première partie:
/ * Liste tous les nettoyeurs (numéro et nom) avec le nom et l'emplacement de leur dépôt, y compris les produits de nettoyage ne sont pas situés dans un dépôt * /

Select  cNo,cName,dName, dAddress
from  Cleaner c
left  join Depot d
on  c.dNo = d.dNo;



 7 lignes sélectionnées

la deuxième partie :


/ * Maintenant, la liste de tous les nettoyeurs (numéro et nom), le nom de leur dépôt et les numéros d'immatriculation avec le type de bus qu'ils sont responsables, y compris les produits de nettoyage qui ne sont pas affectés à un bus ou un dépôt. * /
Select c.cno,cname,dname,regNo,tdescript
from Cleaner c
left join Depot d
on c.dNo = d.dNo
left join Bus b
on c.cNo = b.cNo
left join BusType bt
on b.tNo = bt.tNo;


10 lignes sélectionnées