Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/04/2011, 00h02   #1
Nouveau Membre du Club
 
Étudiant
Inscription : avril 2008
Messages : 94
Détails du profil
Informations personnelles :
Âge : 26
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 94
Points : 27
Points : 27
Envoyer un message via MSN à minerva
Par défaut j'arrive pas à comprendre pourquoi !

bonsoir;
soit la requête suivante:
Code :
1
2
3
4
5
 SELECT c1.codec,c1.niveau,c1.datec,c1. tarif
FROM cours c1,cours c2
WHERE c1.tarif=c2.tarif
AND c2.codec="001"
ORDER BY c1.date DESC;
qui peut m'explique a quoi ca sert la duplication du nom de la table dans la 2ème ligne ?? merci d'avance
minerva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2011, 00h25   #2
Membre éclairé
 
Avatar de TryExceptEnd
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 435
Points : 347
Points : 347
Apparemment a rien qu'a compliquer cette requête.
__________________
Si vous êtes libre, choisissez le Logiciel Libre.
TryExceptEnd est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/04/2011, 03h39   #3
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
La requête permet de trouver tous les cours qui ont le même tarif que le codec 001.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/04/2011, 12h08   #4
Membre éclairé
 
Avatar de TryExceptEnd
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 435
Points : 347
Points : 347
c'est kif-kif pareil avec ça:
Code :
SELECT c1.codec,c1.niveau,c1.date,c1.tarif FROM cours c1 WHERE c1.codec="001" ORDER BY c1.date DESC;
__________________
Si vous êtes libre, choisissez le Logiciel Libre.
TryExceptEnd est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/04/2011, 13h02   #5
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Absolument pas !
Je reviens un peu plus tard avec des données.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/04/2011, 14h55   #6
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 442
Points : 10 442
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Avec ce jeu de données :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE cours
(
    codec     varchar(3)   NOT NULL,
    niveau    integer      NOT NULL,
    datec     date         NOT NULL,
    tarif     decimal(5,2) NOT NULL,
    constraint pk_cours
      PRIMARY KEY (codec)
);
 
INSERT INTO cours (codec, niveau, datec, tarif) VALUES ('001', 1, current_date  , 5);
INSERT INTO cours (codec, niveau, datec, tarif) VALUES ('002', 1, current_date-1, 4);
INSERT INTO cours (codec, niveau, datec, tarif) VALUES ('003', 1, current_date-2, 5);
INSERT INTO cours (codec, niveau, datec, tarif) VALUES ('004', 1, current_date-3, 4);
INSERT INTO cours (codec, niveau, datec, tarif) VALUES ('005', 1, current_date-4, 5);
 
commit;
Votre requête mono table :
Code :
1
2
3
4
5
6
7
8
  SELECT c1.codec, c1.niveau, c1.datec, c1.tarif
    FROM cours c1
   WHERE c1.codec = '001'
ORDER BY c1.datec DESC;
 
CODEC NIVEAU                 DATEC                     TARIF                  
----- ---------------------- ------------------------- ---------------------- 
001   1                      24/04/2011                5
La requête avec les deux tables :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
  SELECT c1.codec, c1.niveau, c1.datec, c1.tarif
    FROM cours c1
         INNER JOIN cours c2
          ON c2.tarif = c1.tarif
   WHERE c2.codec = '001'
ORDER BY c1.datec DESC;
 
CODEC NIVEAU                 DATEC                     TARIF                  
----- ---------------------- ------------------------- ---------------------- 
001   1                      24/04/2011                5                      
003   1                      22/04/2011                5                      
005   1                      20/04/2011                5
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/04/2011, 16h34   #7
Responsable Modération
 
Avatar de ok.Idriss
 
Homme Idriss Neumann
Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)
Inscription : février 2009
Messages : 1 978
Détails du profil
Informations personnelles :
Nom : Homme Idriss Neumann
Âge : 21
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Consultant en SSII et étudiant au CNAM Paris (ingénieur SI)

Informations forums :
Inscription : février 2009
Messages : 1 978
Points : 6 062
Points : 6 062
Bonjour.

Citation:
Envoyé par TryExceptEnd Voir le message
c'est kif-kif pareil avec ça:
Code :
SELECT c1.codec,c1.niveau,c1.date,c1.tarif FROM cours c1 WHERE c1.codec="001" ORDER BY c1.date DESC;
Attention, comme le montre Waldar, la jointure se fait sur les tarifs, pas sur les identifiants ... Ce serait certes inutile si la jointure se faisait sur les identifiants (codec dans le cas présents).

Il aurait aussi été possible de faire cela par une sous-requête :

Code :
1
2
3
4
5
6
SELECT *
    FROM cours
    WHERE tarif = (SELECT tarif
                     FROM cours
                     WHERE codec = '001')
    ORDER BY date DESC;
Cordialement,
Idriss
ok.Idriss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2011, 16h43   #8
Nouveau Membre du Club
 
Étudiant
Inscription : avril 2008
Messages : 94
Détails du profil
Informations personnelles :
Âge : 26
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 94
Points : 27
Points : 27
Envoyer un message via MSN à minerva
merci infiniment ,c'est très clair maintenant )
minerva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2011, 18h50   #9
Membre éclairé
 
Avatar de TryExceptEnd
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 435
Points : 347
Points : 347
Citation:
Envoyé par Waldar Voir le message
La requête permet de trouver tous les cours qui ont le même tarif que le codec 001.
Dont acte, désolé pour la lecture de travers.
__________________
Si vous êtes libre, choisissez le Logiciel Libre.
TryExceptEnd est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h17.


 
 
 
 
Partenaires

Hébergement Web