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
danone - 21 mars 2008 à 23:09
A voir également:
- Petit probleme simple de SQL
- Iphone 14 simple - Guide
- Simple ocr - Télécharger - Bureautique
- Petit 3 ✓ - Forum Word
- Trier du plus petit au plus grand excel - Guide
- Petit 9 - Forum Mail
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 @+
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 @+
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
6 avril 2005 à 09:18
Merci beaucoup,
pour la moyenne je crois que c'est AVG( )...
par contre c'est quoi le
pour la moyenne je crois que c'est AVG( )...
par contre c'est quoi le
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
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
pour la moyenne je crois que c'est AVG( )...
par contre c'est quoi le " l " et le " g " dans la 1ere question ??
Merci
Bonjour
par contre c'est quoi le " l " et le " g " dans la 1ere question ??Regarde à alias dans le manuel
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... ;)
@+
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... ;)
@+
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
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
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
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 !
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 !
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
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