serveurs de bases de données relationnelles les plus modernes utilisent le Structured Query Language , ou SQL, ajouter, mettre à jour et rendre compte de l'information dans les bases de données . Instruction SELECT de SQL , utilisé pour afficher les données , dispose d'une clause facultative appelée INNER JOIN . Il relie deux tables temporairement en une seule unité . SQL vous permet d'utiliser INNER JOIN de deux manières: implicitement , en spécifiant les tables et explicitement en incluant les mots « INNER JOIN » dans la syntaxe de la déclaration. Sélectionnez
SQL , l'instruction SELECT affiche la liste sur la base des données dans une base de données. Par exemple, pour afficher une simple liste de clients triés par nom , vous pouvez utiliser le code suivant SQL : SELECT
customer_number , nom, ville, état, zip_code FROM clients ORDER BY nom ;
Photos Inner Join
Une opération JOIN relie deux tables. Le tableau de la clientèle, dans cet exemple, peut avoir un champ appelé sales_code qui se réfère à des enregistrements correspondants dans une table de vendeur indépendant. Liste des énoncés suivants les informations du client et le nom du vendeur. Le premier exemple utilise REJOIGNEZ implicitement , la seconde , de façon explicite :
SELECT customer_number , nom, ville, état, zip_code , sales_name de ses clients, vendeur OÙ customers.sales_code = salesperson.sales_code ORDER BY nom ;
< p > SELECT customer_number , nom, ville, état, zip_code , sales_name FROM clients INNER JOIN ON vendeur customers.sales_code = salesperson.sales_code ORDER BY nom ;
Résultats
INNER JOIN et approches de jointures implicites produisent les mêmes résultats . Tant liste les mêmes enregistrements triés dans le même ordre . Lorsque vous utilisez la syntaxe INNER JOIN , cette enseigne explicitement SQL pour relier deux tables seulement sur les dossiers qu'ils ont en commun. Avec la version implicite , SQL suppose que vous voulez une jointure interne et relie les tables comme si vous aviez spécifié explicitement.
Performance
La différence de performance entre INNER JOIN et jointure implicite dépend du serveur de base de données , tels que IBM DB2 ou SQL server de Microsoft . Dans le cas de DB2, la INNER JOIN est d'environ un percent.faster . Avant que le serveur exécute un SELECT , il organise la déclaration dans un plan , qui est un ensemble de mesures optimisées pour recueillir des données de manière efficace . Les résultats escomptés pour les deux approches sont les mêmes, de sorte que le plan est généralement peu près le même . Depuis DB2 montre une légère différence de vitesse entre les deux méthodes , les plans sont probablement différent , mais que de façon mineure .
Best Practice
La syntaxe INNER JOIN est un nouvelle approche , plus explicite à une instruction SELECT. Le Site performances de SQL Server recommande son utilisation sur la méthode implicite plus parce qu'il est plus claire. Le format implicite rend la clause WHERE accomplir une double tâche à joindre des tables et de l'évaluation des tests conditionnels . Le format explicite garde les deux tâches distinctes ; INNER JOIN ne le rejoindre et où les tests de données pour les valeurs spécifiques
.