Maison  >  Article  >  base de données  >  Comment utiliser la connexion directe dans MySQL ?

Comment utiliser la connexion directe dans MySQL ?

王林
王林avant
2023-08-29 08:05:081362parcourir

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)

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)

Afficher les enregistrements

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer