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

2023年 8月 27日 66.3k 0

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

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)

现在,使用关键字 RIGHT 进行 RIGHT JOIN 的查询可以如下 -

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)

登录后复制

现在,在以下查询中我们没有使用关键字 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)

登录后复制登录后复制

从上面的结果集中我们可以观察到区别,在不使用关键字 'RIGHT' 的情况下,MySQL 会将其作为 INNER JOIN 的查询并相应地返回结果。

现在,使用关键字 LEFT 进行 LEFT JOIN 的查询可以如下 -

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)

登录后复制

现在,在以下查询中我们不使用关键字 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)

登录后复制登录后复制

从上面的结果集中我们可以观察到区别,在不使用关键字“LEFT”的情况下,MySQL将其作为INNER JOIN的查询并相应地返回结果。

以上就是如果我在编写 RIGHT JOIN 或 LEFT JOIN 查询时不使用关键字“RIGHT”或“LEFT”,MySQL 将返回什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论