La solution d'Exercice SQL Corrigé : SQL revisité Base de données "Bus Dépôts"
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 * /
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