• Aucun résultat trouvé

- - EXERCICES REQUETES 1 : Solutions

N/A
N/A
Protected

Academic year: 2022

Partager "- - EXERCICES REQUETES 1 : Solutions"

Copied!
7
0
0

Texte intégral

(1)

- -

Liste des enregistrements de la table tblvilles par ordre alphabétique croissant des villes.

select * from tblvilles order by ville asc;

- 1.2 -

Liste des codes postaux et villes triée par code postal croissant.

select codpost, ville from tblvilles order by codpost asc;

- 1.3 -

Liste des clients (ex : M. Alain Delon) par ordre décroissant des noms.

select concat(civilité, ' ', prenom, ' ', nom) as client from tblClients

order by nom desc;

- 1.4 -

Liste des mécanos (Champ Nom : nom en majuscule, Champ Prénom : prenom) par ordre alphabétique des noms.

select upper(nom) Nom, prenom Prénom from tblEmployes

where categorie = 'Mécano' order by nom;

- 1.5 -

Liste, par age décroissant, des prénoms, noms et date de naissance des clients de plus de 40 ans.

select nom Nom, prenom Prenom,

date_format(dateNaissance, '%d %M %Y') 'Date de Naissance', year(curdate()) - year(dateNaissance) Age from tblCLients where dateNaissance is not null

and year(curdate()) - year(dateNaissance) > 40 order by age

(2)

- 1.6 -

Liste des interventions (NumIntervention) d'entretien-nettoyage (EN) et de réparation-nettoyage (RN) avec leur date de début, programmées du 1

er

avril 1999 à aujourd'hui. Liste triée par date croissante.

select numintervention from tblinterventions

where (typeIntervention = 'EN' or typeIntervention = 'RN') and debinterv > '2006-04-01'

numintervention 3

4 7 8 14

- 1.7 -

Liste des numéros d'employés indisponibles totalement du 8 au 12 mars 2006.

Afficher avec les dates de début et de fin d'indisponibilité.

select numindispo, date_format(debIndispo, '%d/%m/%y') debut, date_format(finIndispo, '%d/%m/%y') fin

from tblIndisponibilites

where debindispo <= '2006-03-08' and finIndispo >= '2006-03-12'

numindispo debIndispo finIndispo

7 08/03/06 12/03/06

(3)

Faire la facturation de l'ensemble des interventions sachant que la prise en charge du véhicule vaut 1000$ et que chaque jour d'intervention vaut 1500$.

select concat(civ, ' ', nom, ' ', prenom) Client,

concat(marque, ' ',modele, ' ', numImmat) Véhicule, date_format(debInterv, '%d/%m/%y') Date,

dateDiff(finInterv, debInterv) Durée,

concat(dateDiff(finInterv, debInterv) * 1500 + 1000, ' $') Montant from tblClients c, tblMarques ma, tblModeles mo,

tblVehicules v, tblInterventions i where c.numClient = v.numClient and v.numVehicule = i.numVehicule and v.numModele = mo.numModele and mo.numMarque = ma.numMarque order by Date

- 2 .1 -

Liste des villes (ville) par ordre croissant pour lesquelles il n'y a aucun client.

select ville

from tblVilles v left join tblClients c on v.numVille = c.numVille

where nom is null order by ville ou

select ville

from tblClients c right join tblVilles v on v.numVille = c.numVille

where nom is null order by ville

- 2.2 -

La moyenne de kilométrage par type d'intervention (typeintervention, moyenne).

select typeIntervention, avg(kmvehicule) moyenne from tblinterventions

group by typeintervention order by typeintervention;

-2.3-

Le nombre de clients

select count(nom) 'Nombre clients' from tblClients

(4)

-

2.4

-

Donner le nombre de clients qui possede un fax

select count(fax) from tblClients

-

2.5

-

Donner le pourcentage de clients qui possede un fax

select count(fax)* 100 /count(nom) Pourcentage from tblClients

-

2.6

-

Donner la date d'intervention la plus récente

select max(debInterv) from tblInterventions

-

2.7

-

Donner l'année du véhicule le plus ancien

select min(annee) from tblVehicules

-

2.8

-

Donner le propriétaire (prenom NOM), le véhicule (MARQUE modele) et l'année du véhicule ordonné par nom et véhicule

select concat(prenom, ' ', upper(nom)) Client, concat(upper(marque), ' ', modele) Vehicule, annee Annee

from tblVehicules v, tblClients c, tblModeles mo, tblMarques ma where v.numClient = c.numClient

and v.numModele = mo.numModele and mo.numMarque = ma.numMarque order by nom, Vehicule

Client Vehicule Annee

Isabelle ADJANI BMW M 3 1999

Jean-hugues ANGLADE JAGUAR XJ 8 1997

Josianne BALASKO RENAULT Safrane 1992

Kim BASSINGER BMW M 3 1998

Emmanuelle BÉART ROLLS-ROYCE Bentley-Continental 1998

(5)

-

2.9

-

Le nombre de kilomètres de l'ensemble des véhicules.

select sum(kmVehicule) from tblInterventions

-

2.10

-

Afficher le nombre de clients par numVille

select numVille, count(nom) 'Nombre de clients' from tblClients

group by numVille

-

2.11

-

Le nombre d'interventions par employé (numEmploye).

select numEmploye, count(numIntervention) 'Nombre d''interventions' from tblIntervenants

group by numEmploye

-

2.12

-

Le nombre d'interventions par employé (prenom NOM).

select concat(e.prenom, ' ' , upper(e.nom)) Employés, count(numIntervention) 'Nombre d''interventions'

from tblIntervenants i, tblEmployes e where i.numEmploye = e.numEmploye group by i.numEmploye

Employés Nombre d'interventions Clément LELAC 1

Hervé FAUST-PAZEN 2 Cloé SURPLACE 2

Zoé MATELOT 2

...

Pourquoi l'ordre n'est-il pas alphabétique ?

(6)

-

2.13

-

Le nombre d'interventions par employé au mois de mars.

select e.nom, count(numIntervention) from tblIntervenants i, tblEmployes e where i.numEmploye = e.numEmploye

and (((debut between '2006-03-01' and '2006-03-31') or (fin between '2006-03-01' and '2006-03-31')) or ( debut < '2006-03-01' and fin > '2006-03-31')) group by e.nom

Il est possible d'utiliser la fonction MONTH(exp) nom count(numIntervention)

d'oleron 1

lelac 2

pechala 1

sonvieupor 1 voidedon 1

-

2.14

-

Quels sont les employés (nom) dont le salaire est supérieur à l'empoyé 'Sonaylet'?

select nom

from tblEmployes where salaire > (

select salaire from tblEmployes

where nom like 'sonaylet')

(7)

Quels sont les clients (nom) qui ont le même modèle de voiture que Kim Bassinger?

select nom

from tblClients c, tblVehicules v, tblModeles mo where c.numClient=v.numClient

and v.numModele = mo.numModele and modele like(

select modele

from tblClients c, tblVehicules v, tblModeles mo where c.numClient=v.numClient

and v.numModele = mo.numModele and nom like 'Bassinger')

-

2.16

-

Donnez le nombre de modèles par nationalité en ordre décroissant du nombre de modèles

select nationalite, count(modele) 'Nb modeles' from tblMarques, tblModeles

where tblMarques.numMarque=tblModeles.numMarque group by nationalite

order by 'Nb modeles' desc

-

2.17

-

Donnez la moyenne des salaires par catégories d'employés.

select categorie Catégorie, avg(salaire) Moyenne from tblEmployes

group by categorie

-

2.18

-

Donnez la liste (nom) des assistants dont le salaire est supérieur à la moyenne.

select nom

from tblEmployes where salaire > ( select avg(salaire)

from tblEmployes

where categorie like 'Assistant') and categorie like 'Assistant'

Références

Documents relatifs

2.1 garantie perte de revenus en cas d’arrêt de travail pour cause de maladie ou d’accidents : (Obligatoire pour les agents de la fonction publique en activité, cette garantie

Une autre étude permet d’envisager que le nombre d’abonnements à internet en très haut débit en France pourrait continuer à augmenter de 6 % chaque tri- mestre, à partir de la

Avec ce modèle, déterminer à l’aide d’une lecture graphique le nombre d’en- seignants qui seraient près à payer (40 + m) € pour avoir un contrôle déjà prêt.. Par exemple,

Pour la 2de BAC PRO Prothésiste Dentaire (à joindre AU DOSSIER DE VALIDATION DE PROJET – Document 1 et 2) à compléter par l’établissement d’origine. Nom et prénom de

Le Relais Petite-Enfance Flandre Lys propose également de nombreux temps de rencontres pour les grands et les petits accompagnés de leurs parents, de leur assistant maternel ou de

BOKO YAO EZECHIEL 8/23/2001 Abidjan Cocody-Abatta Côte d'Ivoire Étudiant Maîtrise Droit Public. Boua Bi Goiya Marc Leonce 9/20/1995 Abidjan Côte

En vue de créer une nouvelle variété de framboises, on croise des plants aux fruits bordeaux et de forme ronde avec des plants aux fruits oranges et de forme « allongée ». Les

Pour connaître ces vibrations périodiques, vous devez calculer votre Année Personnelle, votre Mois Personnel, et votre Jour Personnel qui vont dépendre de la Date étudiée..