| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
    Différences entre EXISTS & IN dans SQL
    Un défi persistant à l'aide de SQL est de déterminer le bon usage des existe et opérateurs IN . Les deux opérateurs peuvent produire les mêmes résultats , mais ne le font pas toujours . Aussi, il ya un important débat sur ​​la façon dont chaque opérateur est optimisée pour la vitesse. Les utilisateurs doivent comprendre les différents attributs de chaque opérateur et d'essayer de déterminer à la fois la fonction appropriée. EN opérateur

    L'opérateur IN renvoie une ligne si un cas où la valeur table.champ conditionné correspond à une liste de valeurs IN . EN est généralement utilisé dans le cadre d'une requête principale ou en conjonction avec une sous-requête

    . Exemple 1: OÙ table.champ dans ('a' , 'b' , 'c')

    exemple 2: OÙ table.champ dans ( le retour de Subquery ensemble de valeurs )
    EXISTE opérateur

    l' opérateur EXISTS renvoie toutes les lignes principales de la requête si la sous-requête ne contient aucune ligne . Photos

    existe est utilisé uniquement en association avec une sous-requête . Lignes retournées sont déterminées par filtrage au niveau de la requête principale. Exemple: Lorsqu'il n'existe ( le retour de Subquery ensemble de valeurs )
    Différence

    ne peut pas évaluer les valeurs NULL , si ces lignes sont toujours faux, et ne reviennent pas . Photos

    existe ne peut évaluer les valeurs NULL , de sorte que ces lignes peuvent être retournés.
    similitudes

    existe et exprimer leur soutien sous-requêtes corrélées et non corrélées , et les deux peuvent produire des principaux résultats similaires. Quand corrélée , existe et dans un match un champ de requête principale à un champ de sous-requête (ex : main.id = subquery.id ) . La sous-requête évalue ligne par ligne , pour chaque correspondance trouvée . Dans ce cas, IN et EXISTS renvoie les mêmes lignes basées sur les matchs de id similaires. Lorsque des non - corrélée, existe et dans le processus de leur sous-requêtes , puis correspondent résultats à la requête principale.
    Performance des existe et EN

    performance est déterminé par la base de données optimiseur et le plan d'exécution qu'il emploie pour le code exécuté . Pour existe et IN, l'optimiseur peut choisir différents chemins . Dans Oracle , c'est de PAS EXISTE éviter un anti -jointure , et de prouver généralement plus rapide que NOT IN. A la fin, quelques essais et erreurs est nécessaire de comparer le chemin le plus rapide en fonction de la base de données et sa version utilisés. Assurez-vous d' utiliser l'opérateur qui assure des résultats corrects , puis si tout est la même , essayez EXISTS substitution et pour voir vraiment ce qui est plus rapide.

    Previous :

    next :
      articles connexes
    ·Qu'est-ce qu'un double littéral 
    ·Comment ajouter des commentaires à l'aide rappel des c…
    ·Comment écrire un programme Software 
    ·Combien de temps faut iPhone App développement Take 
    ·Qu'est-ce qu'un fichier ASCX 
    ·Comment concevoir un organigramme pour les conversions …
    ·GCC Fonction Système 
    ·Comment faire pour intégrer Lecteurs de musique 
    ·Inattendu après un opérateur 
    ·Comment placer un texte autour d'une image avec HTML Pr…
      articles en vedette
    ·Comment dessiner un diagramme de flux de process 
    ·Comment utiliser PHP Snippets dans Asp.net 
    ·Comment analyser Nom ancrage Liens en PHP 
    ·Les inconvénients des applets Java 
    ·Mégaprojets en Java 
    ·Avantages et inconvénients de Niveau Machine Language 
    ·Comment ajouter JButton à JPanel 
    ·Comment faire pour modifier un lien hypertexte couleur …
    ·Comment crypter un fichier en PHP 
    ·Comment trier avec QBASIC 
    Copyright © Connaissances Informatiques http://fr.wingwit.com