Select*fromtbl_1;+----+--------+|Id|Name |+ - ---+--------+|1 |Gaurav||2&nb"/> Select*fromtbl_1;+----+--------+|Id|Name |+ - ---+--------+|1 |Gaurav||2&nb">

Maison  >  Article  >  base de données  >  Que retournera MySQL si je n'utilise pas le mot-clé « RIGHT » ou « LEFT » lorsque j'écris une requête RIGHT JOIN ou LEFT JOIN ?

Que retournera MySQL si je n'utilise pas le mot-clé « RIGHT » ou « LEFT » lorsque j'écris une requête RIGHT JOIN ou LEFT JOIN ?

WBOY
WBOYavant
2023-08-25 18:05:061178parcourir

如果我在编写 RIGHT JOIN 或 LEFT JOIN 查询时不使用关键字“RIGHT”或“LEFT”,MySQL 将返回什么?

Dans les deux cas, c'est-à-dire lorsque le mot-clé "RIGHT" ou "LEFT" n'est pas utilisé dans la requête, MySQL renverra les résultats sous forme de requête INNER JOIN. En effet, la seule différence entre RIGHT, LEFT et INNER JOIN est le mot-clé RIGHT ou LEFT. Pour le comprendre, prenons l'exemple de deux tables nommées tbl_1 et tbl_2 qui ont les données suivantes-

mysql> Select * from tbl_1;
+----+--------+
| Id | Name   |
+----+--------+
| 1  | Gaurav |
| 2  | Rahul  |
| 3  | Raman  |
| 4  | Aarav  |
+----+--------+
4 rows in set (0.00 sec)

mysql> Select * from tbl_2;
+----+---------+
| Id | Name    |
+----+---------+
| A  | Aarav   |
| B  | Mohan   |
| C  | Jai     |
| D  | Harshit |
+----+---------+
4 rows in set (0.00 sec)

Maintenant, la requête pour RIGHT JOIN en utilisant le mot-clé RIGHT peut être la suivante-

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 RIGHT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+------+----+
| id   | id |
+------+----+
| 4    | A  |
| NULL | B  |
| NULL | C  |
| NULL | D  |
+------+----+
4 rows in set (0.00 sec)

Maintenant, dans la requête suivante, nous Sans utiliser le mot-clé RIGHT -

mysql> Select tbl_1.id,tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+----+
| id | id |
+----+----+
| 4  | A  |
+----+----+
1 row in set (0.00 sec)

À partir de l'ensemble de résultats ci-dessus, nous pouvons observer la différence, sans utiliser le mot-clé 'RIGHT', MySQL le traitera comme une requête INNER JOIN et renverra les résultats en conséquence.

Maintenant, la requête pour LEFT JOIN en utilisant le mot-clé LEFT peut être la suivante -

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+------+
| id | id   |
+----+------+
| 1  | NULL |
| 2  | NULL |
| 3  | NULL |
| 4  | A    |
+----+------+
4 rows in set (0.02 sec)

Maintenant, dans la requête suivante, nous n'utilisons pas le mot-clé LEFT -

mysql> Select tbl_1.id,tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+----+
| id | id |
+----+----+
| 4  | A  |
+----+----+
1 row in set (0.00 sec)

À partir de l'ensemble de résultats ci-dessus, nous pouvons observer la différence, sans utiliser la clé Dans le cas du mot "LEFT", MySQL le traite comme une requête INNER JOIN et renvoie les résultats en conséquence.

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