0

Inner join と Left joinの違い

出てくる結果が違います。

テーブル1のカラム1

mysql> select c1 from t1;
+------+
| c1   |
+------+
|    1 |
|    2 |
|    3 |
|    4 |
|    5 |
|    6 |
+------+
6 rows in set (0.00 sec)

テーブル2のカラム1

mysql> select c1 from t2;
+----+
| c1 |
+----+
|  1 |
|  2 |
|  3 |
|  7 |
|  8 |
|  9 |
+----+
6 rows in set (0.00 sec)

■LEFT JOIN, INNER JOIN でのテーブル結合をしてみます。

mysql> select t1.c1,t2.c1 from t1 left join t2 on t1.c1=t2.c1;
+------+------+
| c1   | c1   |
+------+------+
|    1 |    1 |
|    2 |    2 |
|    3 |    3 |
|    4 | NULL |
|    5 | NULL |
|    6 | NULL |
+------+------+
6 rows in set (0.00 sec)  

        
の6レコードが出力されます

mysql> select t1.c1,t2.c1 from t1 inner join t2 on t1.c1=t2.c1;
+------+----+
| c1   | c1 |
+------+----+
|    1 |  1 |
|    2 |  2 |
|    3 |  3 |
+------+----+
3 rows in set (0.00 sec)

3レコードしか出力されません。

対応させるべきはinner joinとouter joinなんですけど、
left join は left outer join と同等です。

innter joinは結合する相手のテーブルに対応する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です