problème base de données ( requête )
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

problème base de données ( requête )



  1. #1
    cosmoff

    problème base de données ( requête )


    ------

    bonjour

    voila j'ai une table clients( NomClient , adresseClient ) et une table commandes ( numeroCommande, NomClient , NomProduit , quantite )

    et je dois recupérer le nom et adresse des clients ayant commandé le produit ' brique', avec comme quantité comprise entre 5 et 10

    j'ai donc lancé la requete :
    Code:
    select clients.nomClient,adresseClient
    from clients,commandes
    where clients.nomClient = commandes.nomClient and nomProduit = "brique" and quantite >=5 and quantite <=10
    
    --OU
    
    select clients.nomClient,adresseClient
    from clients
    join commandes on clients.nomClient = commandes.nomClient
    where nomProduit = 'brique' and (quantite >= 5 and quantite <= 10);
    les 2 marches mais pourtant j'ai l'impression que la 1 fonctionne au pif car je ne met pas de jointure...
    quelqu'un peut il m'éclairer

    merci d'avance

    -----

  2. #2
    invite948b37db

    Re : probleme base de données ( requete )

    Citation Envoyé par cosmoff Voir le message
    bonjour
    voila j'ai une table clients( NomClient , adresseClient ) et une table commandes ( numeroCommande, NomClient , NomProduit , quantite )
    et je dois recupérer le nom et adresse des clients ayant commandé le produit ' brique', avec comme quantité comprise entre 5 et 10
    j'ai donc lancé la requete :
    [CODE]
    select clients.nomClient,adresseClien t
    from clients,commandes
    where clients.nomClient = commandes.nomClient and nomProduit = "brique" and quantite >=5 and quantite <=10
    Bonsoir
    Pour moi, c'est correct. Il n'y a pas besoin de jointure. C'est l'emboitement des tests d'égalité qui, selon cette syntaxe doivent tous être vrais, permet la sélection des données correspondantes.
    Si le résultat était aléatoire, tu n'aurais pas le même résultat avec la 2e requête, ou alors il faudrait un sacré hasard.

  3. #3
    Matmat

    Re : probleme base de données ( requete )

    il y a bien des jointures dans les deux requêtes
    ( c'est juste ta façon de l'écrire qui diffère )

  4. #4
    invite0bbe92c0

    Re : probleme base de données ( requete )

    Citation Envoyé par cosmoff Voir le message
    les 2 marches mais pourtant j'ai l'impression que la 1 fonctionne au pif car je ne met pas de jointure...
    quelqu'un peut il m'éclairer
    La première correspond à la syntaxe SQL avant 1992; à éviter car difficile à lire : on mélange le critère de jointure avec le critère de sélection (dans la clause WHERE). A proscrire dans tous les cas.
    Mais les optimiseurs de requêtes des SGBD actuels sont capables d'exécuter les deux requêtes de manière indifférenciée.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Comment créer une base de données ? (sous base- open office)
    Par invitec504e3b6 dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 05/01/2012, 10h38
  2. phpmysql : problème accès base de données
    Par inviteec511ddc dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 26/02/2010, 06h14
  3. Interface requête Utilisateur Base de données EXCEL
    Par invitea0d929fc dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 06/07/2009, 11h46
  4. Problème base de données
    Par invite1679091c dans le forum Annonces Officielles
    Réponses: 0
    Dernier message: 06/09/2007, 08h48