? Une sous-requête est une requête dans une autre requête. Une sous-requête peut également contenir un autre sous-requête. Ceux-ci sont censés être sous-requêtes " imbriquées " . Une jointure est lorsque deux ou plusieurs tables sont référencées dans la clause "From" de la requête. Les moteurs de base de données différents peuvent optimiser les sous-requêtes et jointures différemment . Par exemple, l'optimiseur DB2 va transformer une sous-requête pour une jointure si certains critères sont respectés . Dans certains cas, une jointure rendements de meilleures performances que une sous-requête . Ce qui fait une sous-requête Une sous-requête est une instruction «SELECT» dans le «OÙ» ou clause " avoir" d'un extérieur "INSERT ", " UPDATE ", " fusionner" ou déclaration "DELETE" . La sous-requête est aussi appelée la " requête interne » ou « select intérieure . " La sous-requête peut avoir une clause "FROM" avec une ou plusieurs tables et peut éventuellement avoir un "WHERE ", " GROUP BY " ou " clause HAVING " . Il est toujours enfermé dans les parenthèses . Avantages et inconvénients des sous-requêtes sous-requêtes sont avantageux car ils structurent la requête d'isoler chaque partie de la déclaration , effectuer la même opération qui seraient normalement exiger des jointures complexes et les syndicats et sont plus faciles à lire. Les sous-requêtes sont à la base même pour le nom de " Structured Query Language " ( SQL) en raison de leur structure facilement lisible. Un inconvénient est que vous ne pouvez pas modifier une table et sélectionnez la même table dans une sous-requête dans la même instruction SQL. Les sous-requêtes peuvent également prendre plus de temps qu'un rejoindre à cause de la façon dont l'optimiseur de base de données les traite. Ce qui fait une inscription La plupart des sous-requêtes peuvent être réécrites comme jointures et plus jointures peuvent être réécrite comme sous-requêtes. Une jointure définit deux ou plusieurs tables par une colonne correspondante. Les tableaux sont habituellement joints sur les clés primaires et étrangères. Par exemple, une table d'employés pourrait avoir une clé primaire d'une colonne d' identité d'employé , tandis qu'un tableau de feuille de temps a également une colonne id de l'employé qui est une clé étrangère à la table des employés. La jointure SQL peut être écrite comme «OÙ employee.empid = timesheet.empid " ou " FROM employee REJOIGNEZ-NOUS SUR feuille de temps ( employee.empid = timesheet.empid )." Avantages et inconvénients des jointures Le principal avantage d'une jointure , c'est qu'il s'exécute plus rapidement . L'augmentation de la performance pourrait ne pas être visible par l'utilisateur final . Cependant, parce que les colonnes sont spécifiquement nommés et indexés et optimisés par le moteur de base de données, le temps de récupération presque toujours sera plus rapide que celle d'une sous-requête. Il ya aussi des jointures internes et externes , gauche et droite se joint , plein jointures et les jointures croisées . Un inconvénient de l'utilisation des jointures , c'est qu'ils ne sont pas aussi faciles à lire que les sous-requêtes . Un autre inconvénient est que cela peut être déroutant pour qui jointure est le type approprié de se joindre à utiliser pour obtenir le résultat souhaité set correct.
|