首頁 > 資料庫 > mysql教程 > 我們如何區分 MySQL CROSS JOIN 和 INNER JOIN?

我們如何區分 MySQL CROSS JOIN 和 INNER JOIN?

WBOY
發布: 2023-09-08 21:57:03
轉載
1137 人瀏覽過

我们如何区分 MySQL CROSS JOIN 和 INNER JOIN?

我們只能根據連接謂詞(即指定的條件)來區分 MySQL CROSS JOIN 和 INNER JOIN。在編寫 INNER JOIN 查詢時,我們需要指定條件,但相反,在編寫 CROSS JOIN 查詢時,我們不需要指定條件。為了理解它,我們以名為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)
登入後複製

現在,INNER JOIN 的查詢可以如下-

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)
登入後複製

現在,如果我們在不指定條件的情況下編寫上述查詢,那麼它將變成CROSS JOIN。無條件查詢如下 -

mysql> Select tbl_1.id, tbl_2.id FROM tbl_1 JOIN tbl_2;
+----+----+
| id | id |
+----+----+
| 1  | A  |
| 2  | A  |
| 3  | A  |
| 4  | A  |
| 1  | B  |
| 2  | B  |
| 3  | B  |
| 4  | B  |
| 1  | C  |
| 2  | C  |
| 3  | C  |
| 4  | C  |
| 1  | D  |
| 2  | D  |
| 3  | D  |
| 4  | D  |
+----+----+
16 rows in set (0.00 sec)
登入後複製

以上是我們如何區分 MySQL CROSS JOIN 和 INNER JOIN?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板