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)
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)
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
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)
mysql> SELECT * from PrimaryTableDemo;
Ci-dessous la sortie -
+----+---------+ | FK | Address | +----+---------+ | 1 | US | | 2 | UK | | 3 | Unknown | +----+---------+ 3 rows in set (0.00 sec)
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)
Affichez tous les enregistrements à l'aide de l'instruction SELECT -
mysql> SELECT * from ForeignTableDemo;
Voici la sortie
+------+------+------+ | Id | Name | FK | +------+------+------+ | 1 | John | 1 | | 2 | Bob | 2 | +------+------+------+ 2 rows in set (0.00 sec)
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;
Ce qui suit est le résultat -
+------+------+---------+ | Id | Name | Address | +------+------+---------+ | 1 | John | US | | 2 | Bob | UK | +------+------+---------+ 2 rows in set (0.00 sec)
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!