Une sous-requête est une requête dans une autre requête. Dans Oracle, vous pouvez créer des sous-requêtes dans les instructions SQL . Ces sous-requêtes sont incorporés dans le " Where" , "From" clause ou la clause "Select" . Très souvent , vous trouverez des sous-requêtes dans la clause «where» . Une sous-requête simplifie les questions de multiple - partie . Par exemple, pour trouver des employés dans le département de John, une sous-requête détermination du département où John œuvres est très utile. Bien qu'il présente des avantages , il ya quelques inconvénients à l'utilisation de sous-requêtes. Très étapes
Subquery provoque étapes supplémentaires pour un serveur de base de données pendant qu'il attend les résultats de la sous-requête . Ces mesures , telles que le tri, devraient être menées par l'optimiseur de requêtes pour fonctionner correctement.
Complexité accrue
Les sous-requêtes augmenteront la complexité des requêtes SQL. SQL est considéré comme une langue complexe, car elle a sa propre grammaire unique et sémantique. SQL emprunte méthode de keywording COBOL style qui conduit à ré- utiliser moins de mots et de règles. La structure multi-niveaux dans les résultats de la sous-requête est une complexité accrue de requête SQL.
Limitation de la sous-requête
sous-requête , vous ne pouvez pas modifier un table et sélectionner à partir de la même table dans les mêmes déclarations. La sous-requête prend plus de temps pour exécuter qu'une déclaration "Join" en raison de la façon dont l'optimiseur de base de données les exécute . Une déclaration «Join» spécifie deux ou plusieurs tables via une colonne pertinente et la plupart des sous-requêtes peuvent être réalisés avec " inscription " déclarations.
Cross-Platform Edition
Subquery doesn 't support de capacité multi-plateforme. Cela diminue l' inter- communication entre les différentes plates-formes , ce qui est souvent nécessaire dans la programmation Web . Ce problème est accentué par les incohérences dans la programmation de plateforme en plateforme , ce qui rend très sous-requête incompatible .