Requêtes SQL correctes ?

Résolu
Signaler
Messages postés
48
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
19 avril 2010
-
Messages postés
48
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
19 avril 2010
-
Salut à tous,
j'ai un exo avec des requêtes SQL à faire. J'ai la correction mais pour certaines que j'ai faites et qui ne sont pas identiques à la correction j'aimerais savoir si elles sont bonnes, autrement dit si mon raisonnement est bon.

Il n'y en a que 3, en PJ. Vous pouvez corriger directement sur le .doc si vous voulez et le renvoyer.
Merci de vos réponses.
Salutations.Les tables<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 

EMP(ENO, ENOM, PROF, DATEEMB, SAL, COMM, DNO)

                ENO :   numéro d'employé, clé

ENOM :   nom de l'employé

PROF :   profession (directeur n'est pas une profession)

DATEEMB :   date d'embauche

SAL :   salaire

COMM :   commission (un employé peut ne pas avoir de commission)

DNO :   numéro de département auquel appartient l'employé

 

DEPT(DNO, DNOM, DIR, VILLE)

DNO :   numéro de département, clé

DNOM :   nom du département

DIR :   directeur du département (correspond à un n° d’employé)

VILLE :   lieu du département (ville)

 

 

Les requêtes

 

Requête 17 : Donner les noms des employés du département COMMERCIAL embauchés le même jour qu'un employé du département PRODUCTION.

 

SELECT ENOM

FROM EMP

WHERE DATEEMB IN (

                (SELECT DATEEMB

FROM EMP EComm

WHERE EComm.DNO=DEPT.DNO

AND DEPT.DNOM=’Commercial’)

 

INTERSECT

 

(SELECT DATEEMB

FROM EMP EProd

WHERE EProd.DNO=DEPT.DNO

AND DEPT.DNOM=’Production’)

);

 

 

Requête 18 : Donner les noms des employés embauchés avant tous les employés du département 1.

 

SELECT EMP.ENOM

FROM EMP E1, EMP Dept1

WHERE E1.DATEEMB > Dept1.DATEEMB

AND Dept1.DNO=’1’;

 

Requête 24 :   Donner les noms des employés ayant le salaire maximum de chaque département.

 

SELECT ENOM,SAL,DNO

FROM EMP

GROUP BY DNO HAVING MAX(AVG(SAL));

 

Ou bien ?

 

SELECT ENOM,AVG(SAL),DNO

FROM EMP

GROUP BY DNO HAVING MAX(SAL);

 


<!-- / message -->
<!-- attachments -->

4 réponses

Messages postés
48
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
19 avril 2010

Ok merci.
J'ai pris en compte tes remarques.

Cdt.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
Salut

On est pas la pour faire les exos, cf reglement

Dans la requete 17, j'aurais bien vu un group by

Dans la requete 18, une sous requete avec un min

Dans la requete 19, AVG --> Moyenne je ne vois pas a quoi il sert.

Voila des pistes pour ton exo
Messages postés
48
Date d'inscription
mercredi 26 janvier 2005
Statut
Membre
Dernière intervention
19 avril 2010

Ok merci pour tes réponses,
Un forum c'est une aide non ?
Je prend des cours par correspondance et les réponses mettent un certains temps à arriver quand on pose la question par mail ou elles n'arrivent même pas parfois (CNED dur dur ou CNAM dépend des UEs).

Si c'est le reglement y'a peut être d'autres forums sans restriction sur cette question. C'est quand on débute qu'on en a le plus besoin !

A+
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
Ok, c'était juste pour avertir,
on est la pour aider mais pas pour faire les TP et les programmes,
c'est pour ca que j'ai indiqué les pistes qu'il fallait suivre
et pas donné la réponse brut de fonderie.

Bon courage dans tes cours.