SQL入門チュートリアルマニュ...ログイン
SQL入門チュートリアルマニュアル
著者:php.cn  更新時間:2022-04-12 14:15:40

SQL 左結合



SQL LEFT JOIN キーワード

LEFT JOIN キーワードは、右側のテーブル (table2) に一致する行がない場合でも、左側のテーブル (table1) のすべての行を返します。右側のテーブルに一致するものがない場合、結果は NULL になります。

SQL LEFT JOIN 構文

SELECT 列名
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name ;

または:

SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;

注: 一部のデータベースではs 、LEFT JOIN は LEFT OUTER JOIN と呼ばれます。

SQL LEFT JOIN


デモデータベース

このチュートリアルでは、php サンプル データベースを使用します。

以下は「ウェブサイト」テーブルから選択されたデータです:

+----+-------------+------------ - ---------------+------+-----------+
| 国名 |
-- -+---------------+---------------+----- --+------+
| グーグル https://www.google.cm/ | タオバオ | | 13 | 中国語のウェブサイト |
| | フェイスブック | https://www.facebook.com/ |
| 0 | --------+--------------------------+----------+--- - -----+

以下はWebサイトアクセス記録テーブル「access_log」のデータです:

mysql> SELECT * FROM access_log;
+-----+---------+------ +- -----------+
日付 |
+-----+------+- ----------+
| 2016-05-10 | 230 | 05 - 14 | 2 | 2016 年 5 月 14 日 | 6 | 2016 年 5 月 14 日3 | 220 | 2016-05-15 | 8 | 545 | 2016-05-17 |
----+-------+-----------+
セット内の 9 行 (0.00 秒)



SQL LEFT JOIN の例

次の SQL ステートメントは、すべてのサイトとその訪問 (存在する場合) を返します。

次の例では、左側のテーブルとして Websites を使用し、右側のテーブルとして access_log を使用します。

Example

Websites.name、access_log.count、access_log.date を選択します

ウェブサイトから

左結合 access_log

オン Websites.id=access_log.site_id

ORDER BY access_log.count DESC;

上記の SQL を実行した出力は次のとおりです:





注:

LEFT JOIN キーワードは、一致するものがない場合でも、左側のテーブル (Web サイト) からすべての行を返します。右側のテーブル (access_log) にあります。