Maison > base de données > tutoriel mysql > le corps du texte

Comment utiliser la connexion directe dans MySQL ?

王林
Libérer: 2023-08-29 08:05:08
avant
1371 Les gens l'ont consulté

Comment utiliser la connexion directe dans MySQL ?

Les jointures directes dans MySQL fonctionnent de la même manière que les jointures internes ou les jointures. Cela signifie qu'il ne renvoie que Lignes assorties. Tout d’abord, nous devons comprendre la jointure directe dans MySQL. Pour cela nous avons besoin Créez deux tables et associez-les à des contraintes de clé étrangère.

Ceci est le premier tableau

mysql> CREATE table ForeignTableDemo
-> (
-> Id int,
-> Name varchar(100),
-> FK int
-> );
Query OK, 0 rows affected (0.47 sec)
Copier après la connexion

Ceci est le deuxième tableau -

mysql> CREATE table PrimaryTableDemo
-> (
-> FK int,
-> Address varchar(100),
-> primary key(FK)
-> );
Query OK, 0 rows affected (0.47 sec)
Copier après la connexion

Après cela nous ajouterons les contraintes -

mysql> ALTER table ForeignTableDemo add constraint FKConst foreign key(FK) references
PrimaryTableDemo(FK);
Query OK, 0 rows affected (1.54 sec)
Records: 0 Duplicates: 0 Warnings: 0
Copier après la connexion

Ajoutez maintenant les enregistrements au deuxième tableau -

mysql> INSERT into PrimaryTableDemo values(1,'US');
Query OK, 1 row affected (0.10 sec)

mysql> INSERT into PrimaryTableDemo values(2,'UK');
Query OK, 1 row affected (0.14 sec)

mysql> INSERT into PrimaryTableDemo values(3,'Unknown');
Query OK, 1 row affected (0.08 sec)
Copier après la connexion

Afficher les enregistrements

mysql> SELECT * from PrimaryTableDemo;
Copier après la connexion

Ci-dessous la sortie -

+----+---------+
| FK | Address |
+----+---------+
| 1  | US      |
| 2  | UK      |
| 3 | Unknown  |
+----+---------+
3 rows in set (0.00 sec)
Copier après la connexion

Maintenant, ajoutez les enregistrements à la première table

mysql> INSERT into ForeignTableDemo values (1,'John',1);
Query OK, 1 row affected (0.20 sec)

mysql> INSERT into ForeignTableDemo values (2,'Bob',2);
Query OK, 1 row affected (0.27 sec)
Copier après la connexion

Affichez tous les enregistrements à l'aide de l'instruction SELECT -

mysql> SELECT * from ForeignTableDemo;
Copier après la connexion

Voici la sortie

+------+------+------+
| Id   | Name | FK   |
+------+------+------+
| 1    | John | 1    |
| 2    | Bob  | 2    |
+------+------+------+
2 rows in set (0.00 sec)
Copier après la connexion

La requête pour la jointure directe est comme ci-dessous et s'affiche uniquement lignes correspondantes -

mysql>SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address
-> from ForeignTableDemo
-> Straight_join PrimaryTableDemo
-> on ForeignTableDemo.FK=PrimaryTableDemo.FK;
Copier après la connexion

Ce qui suit est le résultat -

+------+------+---------+
| Id   | Name | Address |
+------+------+---------+
| 1    | John | US      |
| 2    | Bob  | UK      |
+------+------+---------+
2 rows in set (0.00 sec)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!