如果在编写RIGHT JOIN或LEFT JOIN查询时不使用关键字“ RIGHT”或“ LEFT”,MySQL将返回什么?
在两种情况下,即在查询中不使用'RIGHT'或'LEFT'关键字时,MySQL都将其作为INNERJOIN查询返回结果。这是因为RIGHT,LEFT和INNERJOIN之间的唯一区别是RIGHT或LEFT的关键字。为了理解它,我们以两个名为tbl_1和tbl_2的表为例,它们具有以下数据-
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查询RIGHTJOIN可以如下-
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将其作为对INNERJOIN的查询,并相应地返回结果。
现在,使用关键字LEFT的LEFTJOIN查询可以如下-
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将其用作INNERJOIN的查询并相应地返回结果。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短