在這兩種情況下,即在查詢中不使用「RIGHT」或「LEFT」關鍵字時,MySQL 都會將其作為 INNER JOIN 查詢傳回結果。這是因為 RIGHT、LEFT 和 INNER JOIN 之間的唯一差異是 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 進行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 會傳回什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!