Petit probleme simple de SQL

Fermé
LauKouM13 Messages postés 12 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 novembre 2005 - 6 avril 2005 à 01:45
 danone - 21 mars 2008 à 23:09
Bonjour a tous,
J'essaie de reviser un concours et j ai une petite question a vous poser.

Des questions portent sur le language SQL:


"
On donne les 2 tables ci dessous:
LIVRE(id_livre,auteur,date_edition,titre,nom_editeur,prix,#id_genre)
GENRE(id_genre,intitule) l'ensemble des valeurs de l'attribut intitulé est { science_fiction, Histoire, Litterature, Religion, Sport}
Ecrire en language SQL les requetes suivantes:

1) Liste des auteurs distincts ayant ecrit au moins un livre en Histoire.

2) Donner le prix moyen des livres dont l'auteur est "Gellimard".

"

Voila j'ai un peu de mal avec SQL donc je ne sais pas le faire.
C'est quoi le # dans la table livre??
Si quelqu'un peut prendre le temps de repondre a ces questions surement simple ca me serai tres utile.
Merci a tous
A voir également:

8 réponses

bonjours toi :

voila tes reponses :
le # correspond à une clé étrangère, c'est à dire héritée d'une autre table (ici de la table 'genre') car une livre possède un et unique genre. C'est comme un lien vers le genre du livre si tu veux le voir commme ca.

réponse au questions :
1)
SELECT l.auteur
FROM LIVRE l, GENRE g
WHERE l.id_genre = g.id_genre
AND g.intitule = "histoire"
ORDER BY l.auteur

2)
SELECT MOY( prix )
FROM livre
WHERE nom_auteur = "Gellimard"

Voilà, en ce qui concerne le 'MOY' dans la deuxième requête, c'est pour faire la moyenne des prix mais je ne suis plus sur que ce soit le bon symbole, regarde si c'est pas autre chose.

bonne chance @+
0
LauKouM13 Messages postés 12 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 novembre 2005 3
6 avril 2005 à 09:18
Merci beaucoup,

pour la moyenne je crois que c'est AVG( )...
par contre c'est quoi le
0
LauKouM13 Messages postés 12 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 novembre 2005 3
6 avril 2005 à 09:18
Merci beaucoup,

pour la moyenne je crois que c'est AVG( )...
par contre c'est quoi le " l " et le " g " dans la 1ere question ??
Merci
0
Bonjour
par contre c'est quoi le " l " et le " g " dans la 1ere question ?? 
Regarde à alias dans le manuel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Comme le dit ric, c'est pour désigné la table qui fait référence au champ :

ex :

" GENRE g
WHERE g.bidule = "truc" "

ici g est un raccourci (ou alias) pour désigner la table "GENRE".
On pourrait aussi écrire WHERE GENRE.bidule = "truc".

Ce genre d'écriture est utile, voir obligatoire quand tu utilise des champs qui se retrouve dans plusieurs tables : dans ton exemple, à cause de id_genre qui permet de faire la liaison entre les deux tables "GENRE" et "LIVRE". Si tu n'écrit pas de cette manière, l'interpréteur ne saura pas dans quelle table prendre le champ puisqu'il aura le choix entre deux tables. C'est dommage mais il ne peut pas décider à ta place... ;)

@+
0
LauKouM13 Messages postés 12 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 14 novembre 2005 3
6 avril 2005 à 13:33
Merci beaucoup, j'ai compris

Si j ai dautres exo et que j arrive pas a les faire (ce qui est tres possible) je reviens vous voir.
En tous cas merci beaucoup
0
réponse au questions :
1)
SELECT a.auteur
FROM LIVRE a, GENRE b
WHERE a.id_genre = b.id_genre
AND b.intitule = "histoire"

ou

SELECT a.auteur
FROM LIVRE a
WHERE a.id_genre = (SELECT b.id_genre
FROM GENRE b
WHERE b.intitule = "histoire" )

2)
SELECT AVG( prix )
FROM livre
WHERE auteur = "Gellimard"

je crois que cé ca ce ke vous cherger
le 'a' et 'b' utiliser sont les alias qui permettent de distinguer les deux champs ayant le meme nom mais apairtenent a des tables differents

a plus ; ecrit moi pour d'autre explications !
0
slt à toute la communauté
j'ai installé sql server sous windows 2000 server (par defaut)
je bloque sur les requêtes suivantes:

1) rechercher les livres écrits par l'auteur Green

2) donner le nombre de livres vendus par le magasin 'News & Brews'

3) donner, pour chaque magasin, le nombre de ventes

merci d'avance pour votre aide
0