ホームページ > データベース > mysql チュートリアル > MySQL CROSS JOIN と INNER JOIN はどのように区別すればよいでしょうか?

MySQL CROSS JOIN と INNER JOIN はどのように区別すればよいでしょうか?

WBOY
リリース: 2023-09-08 21:57:03
転載
1158 人が閲覧しました

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

MySQL CROSS JOIN と INNER JOIN は、接続述語 (つまり、指定された条件) に基づいてのみ区別できます。 INNER JOIN クエリを作成する場合は条件を指定する必要がありますが、逆に CROSS JOIN クエリを作成する場合は条件を指定する必要はありません。これを理解するために、tbl_1 と tbl_2 という名前の 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)
ログイン後にコピー

Now、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)
ログイン後にコピー

Now , 条件を指定せずに上記のクエリを書くと、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート