837 Shares 9820 views

Opérateur SQL INNER JOIN: exemples de syntaxe et caractéristiques

Développer une base de données comprend non seulement la création et le remplissage des tables avec diverses informations, mais aussi d'autres travaux avec les données. Pour effectuer correctement une variété de tâches au choix des données à partir des tables et des rapports, utilisez la version standard Select.

Extraire les données de tables

Si l'on considère le problème du choix des données ou la construction d'un rapport, vous pouvez déterminer le niveau de complexité de l'opération. En règle générale, lorsqu'il s'agit de grave (selon le volume) des bases de données, qui sont formés, par exemple, dans les magasins en ligne ou de grandes entreprises, la sélection des données ne se limite pas à une seule table. En règle générale, l'échantillon peut provenir d'une table assez grand nombre de non seulement liés, mais aussi des requêtes imbriquées / sous-requêtes, ce qui rend le programmeur, en fonction de sa tâche. Pour un échantillon d'une table peut utiliser la structure la plus simple:

Select * from Personne

où personne – nom de la table à partir de laquelle vous souhaitez effectuer la récupération des données.

Si, cependant, vous devrez sélectionner les données de plusieurs tables, l'un des modèles standard peut être utilisé pour assembler plusieurs tables.

connexion tables supplémentaires Méthodes

Si l'on considère l'utilisation de ces structures au niveau primaire, on peut distinguer les mécanismes suivants pour relier le nombre requis pour les tables échantillons, à savoir:

  1. Opérateur jointure interne.
  2. Gauche ou Inscrivez-vous, il est la deuxième méthode d'enregistrement, jointure externe gauche.
  3. Cross JOIN.
  4. Plein d'inscription.

Utilisation des opérateurs pour joindre des tables dans la pratique, vous pouvez apprendre en prenant en compte l'utilisation de l'instruction SQL – Inner Join. serait comme un exemple de son utilisation suit:

Select * from Personne

Jointure interne Subdivision sur Su_Person = Pe_ID

Langage SQL et assemblez jointure interne opérateur peut être utilisé non seulement pour la combinaison de deux ou plusieurs tables, mais aussi pour connecter les autres sous-requêtes, ce qui facilite grandement le travail des administrateurs de bases de données, et, en règle générale, peut accélérer considérablement la mise en œuvre des structures de requêtes spécifiques, compliquées.

La combinaison des données dans les tableaux ligne par ligne

Si l'on considère la connexion d'un grand nombre de sous-requêtes, et les données assemblées en une ligne de table unique en ligne, vous pouvez également utiliser les opérateurs de l'Union et l'Union Tous.

L'utilisation de ces structures dépendra du développeur de définir les objectifs et les résultats qu'il veut atteindre à la fin.

Description jointure interne opérateur

Dans la plupart des cas, de combiner plusieurs tables dans le langage SQL utilisé par jointure interne opérateur. Description Inner Join dans SQL est assez facile de comprendre le programmeur moyen qui commence à peine à comprendre les bases de données. Si l'on considère la description du mécanisme de travail de cette structure, nous obtenons l'image suivante. L'opérateur logique dans son ensemble est construit sur le passage à niveau et la possibilité d'échantillonnage uniquement les données qui se trouve dans chacun des tableaux inclus dans la requête.

Si nous regardons ce genre de travail en termes d'interprétation graphique, nous obtenons la structure de l'opérateur SQL Rejoignez intérieur, un exemple peut être montré par le schéma suivant:

Par exemple, nous avons deux tableaux, représentés schématiquement sur la figure. Ils ont, à leur tour, ont un nombre différent d'entrées. Dans chacune des tables ont des champs qui sont liés. Si nous essayons d'expliquer le travail de l'opérateur sur la base du dessin, le résultat renvoyé sera un ensemble d'enregistrements de deux tables, où les chambres sont des champs reliés entre eux coïncident. Autrement dit, la requête renvoie uniquement les enregistrements (en nombre de table deux), dont les données sont dans le numéro d'une table.

La syntaxe de la jointure interne

Comme mentionné précédemment, l'opérateur jointure interne, à savoir, sa syntaxe, particulièrement simple. Pour l'organisation des relations entre les tables dans un seul échantillon suffit à retenir et utiliser le schéma suivant de la construction de l'opérateur, qui est prescrit dans une seule ligne de logiciel SQL-code, à savoir:

  • INNER JOIN [Nom de la table] sur [un champ clé de la table à laquelle connecter] = [champ clé connectables de la table].

Pour la communication dans cette déclaration est des clés tables principalement utilisées. En règle générale, dans le groupe des tables qui stockent des informations sur les employés, décrit précédemment Personne Subdivision et ont au moins un enregistrement similaire. Donc, regarder de plus près l'opérateur de jointure SQL interne, dont un exemple a été montré un peu plus tôt.

Description de l'exemple et la connexion à la table d'échantillons audio

Nous avons une table de personne, qui stocke des informations sur tous les employés qui travaillent dans l'entreprise. Il suffit de noter que la clé principale de la table est un champ – Pe_ID. Juste là-dessus et ira un paquet.

La deuxième subdivision de table stocke des informations sur les bureaux où les employés travaillent. Elle, à son tour, est relié par champ Su_Person table de personne. Qu'est-ce que cela signifie? Sur la base du schéma de données peut dire que dans les unités de table pour chaque enregistrement de la table des « employés » seront des informations sur le service dans lequel ils travaillent. Il est pour cette communication et travaillera opérateur jointure interne.

Pour une utilisation plus intuitive de considérer l'opérateur de jointure SQL interne (exemples de son utilisation pour une ou deux tables). Si l'on considère l'exemple de la même table, alors tout est assez simple:

Select * from Personne

Jointure interne Subdivision sur Su_Person = Pe_ID

EXEMPLE connecter les deux tables et sous-requête

Rejoignez l'opérateur SQL intérieur, dont des exemples sont l'utilisation pour récupérer des données à partir de plusieurs tables peuvent être organisées de la manière ci-dessus, il travaille sur une petite complication de principe. Pour compliquer la tâche des deux tables. Par exemple, nous avons la table qui stocke des informations départ sur tous les départements de chacune des divisions. Dans ce tableau, enregistré le numéro de la division et le nombre d'employés, et doit être complétée par le nom des données d'échantillons de chaque département. À l'avenir, il convient de dire que vous pouvez utiliser deux méthodes pour résoudre ce problème.

La première est de relier la table de service à l'échantillon. Organiser la demande dans ce cas peut être le suivant:

Sélectionnez Pe_ID, nom_pe, Su_Id, Su_Name, Dep_ID, Dep_Name de personne

Jointure interne Subdivision sur Su_Person = Pe_ID

INNER JOIN de départ Su_Depart = Dep_ID et Pe_Depart = Dep_ID

La deuxième méthode de résolution du problème – est d'utiliser un sous-requête dans lequel toutes les données ne seront sélectionnés à partir de la table de service, mais seulement le nécessaire. Ceci est en contraste avec la première méthode, il permettra de réduire le temps de la demande.

Sélectionnez Pe_ID, nom_pe, Su_Id, Su_Name, Dep_ID, Dep_Name de personne

Jointure interne Subdivision sur Su_Person = Pe_ID

Jointure interne (Select Dep_ID, Dep_Name, Pe_Depart de départ) comme T sur Su_Depart = Dep_ID et Pe_Depart = Dep_ID

Il convient de noter qu'un tel arrangement ne peut toujours accélérer la demande de travail. Parfois, il y a des cas où il est nécessaire d'utiliser un ensemble de données d'échantillons supplémentaires dans une table temporaire (si le volume est trop grand), puis il a été combiné avec l'échantillon principal.

Exemple d'utilisation jointure interne à l'opérateur des échantillons d'un grand nombre de tables

La construction implique l'utilisation de requêtes complexes pour l'échantillon des quantités importantes de tableaux de données et les sous-requêtes reliées entre elles. Ces exigences peuvent satisfaire SQL jointure interne syntaxe. Des exemples de l'utilisation de l'opérateur, dans ce cas peut être compliqué échantillons non seulement des nombreux lieux de stockage, mais aussi avec un grand nombre de sous-requêtes imbriquées. Pour un exemple concret, vous pouvez prendre les données à partir d'un échantillon de tables système (jointure interne instruction SQL). Exemple – 3 du tableau – dans ce cas, aura une structure assez complexe.

Dans ce cas relié (la table primaire) et trois en outre introduit plusieurs conditions de sélection de données.

Lorsque vous utilisez l'opérateur de jointure interne ne doit pas oublier que plus complexe la requête, plus il sera mis en œuvre, de sorte que vous devriez chercher des moyens de plus effectuer rapidement et résoudre le problème.

conclusion

En fin de compte, je voudrais dire une chose: travailler avec des bases de données – ce n'est pas la chose la plus difficile dans la programmation, donc si vous voulez chaque personne sera en mesure d'acquérir des connaissances pour construire une base de données, et au fil du temps, acquérir de l'expérience, vous obtenez de travailler avec eux sur le plan professionnel .