IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Différence entre deux requêtes


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 677
    Points : 160
    Points
    160
    Par défaut Différence entre deux requêtes
    Bonjour,

    Quelle est la différence entre cette instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM membre WHERE nombre_enfant >0 AND nombre_enfant <=5
    et celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM membre WHERE nombre_enfant BETWEEN 1 AND 5
    Sachant que la requete doit selectionner les membres ayant au moins un enfant mais pas plus de 5.

    merci

  2. #2
    Membre éprouvé Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Points : 1 260
    Points
    1 260
    Par défaut
    Bonjour,

    Je dirais que la vitesse de traitement de la requête sera peut-être différente, mais ce n'est pas certain. A priori, ça dépend de l'optimiseur de requêtes du SGBD.

    En fonction du SGBD que tu utilises, il y a une instruction ("explain plan" par exemple*) qui te permet de voir comment la requête sera évaluée.


    Edit: * Sous MySQL, l'instruction EXPLAIN permet d'avoir le plan d'exécution de la requête, et donc de comparer deux requêtes.
    [alkama] quelqu'un est allé voir la guerre des mondes?
    [@Chrisman] j'espère pour spielberg
    --- bashfr.org

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 677
    Points : 160
    Points
    160
    Par défaut
    mais au niveau résultat ce sera bien le même ?

  4. #4
    Membre régulier Avatar de mullger
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 157
    Points : 86
    Points
    86
    Par défaut
    Oui ça c'est certain, tes requêtes font exactement la même chose, seulement c'est demandé de 2 manières différentes.
    L'esprit est comme un parachute : il ne fonctionne que quand il est ouvert...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 677
    Points : 160
    Points
    160
    Par défaut
    Je pense que je vais prendre la deuxième instruction car je dosi aussi récuperer les membres qui n'ont pas d'enfant et ceux qui en ont au maximum 5.

    Dans ce cas seule la deuxième instruction fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM membre WHERE nombre_enfant BETWEEN 0 AND 5

  6. #6
    Membre éprouvé Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Points : 1 260
    Points
    1 260
    Par défaut
    Citation Envoyé par viny
    Je pense que je vais prendre la deuxième instruction car je dosi aussi récuperer les membres qui n'ont pas d'enfant et ceux qui en ont au maximum 5.
    Dans ce cas seule la deuxième instruction fonctionne
    Non, celle-ci fonctionne aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM membre WHERE nombre_enfant >=0 AND nombre_enfant <= 5
    [alkama] quelqu'un est allé voir la guerre des mondes?
    [@Chrisman] j'espère pour spielberg
    --- bashfr.org

  7. #7
    Membre régulier Avatar de mullger
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 157
    Points : 86
    Points
    86
    Par défaut
    Dans ce cas, tu peux aussi faire comme ça :

    SELECT * FROM membre WHERE nombre_enfant >=0 AND nombre_enfant <=5

    Mais je pense que la 2ème requête est plus propre...

    L'esprit est comme un parachute : il ne fonctionne que quand il est ouvert...

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    677
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 677
    Points : 160
    Points
    160
    Par défaut
    OK merci à tous pour vos réponses pertinentes et rapides !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Différence entre deux requètes
    Par leridant dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/11/2013, 16h29
  2. [AC-2010] Calculer la différence entre deux dates, en jour, dans une requête
    Par Just-Soft dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/10/2010, 02h19
  3. [AC-2007] Requête SQL différence entre deux date en heure
    Par sarah12 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/07/2010, 20h58
  4. Différence entre deux "requêtes"
    Par zaventem dans le forum Développement
    Réponses: 3
    Dernier message: 16/03/2009, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo