PostgreSQL LEFT JOIN (日本語)

概要:このチュートリアルでは、PostgreSQLのLEFT JOIN句を使用して複数のテーブルからデータを選択する方法を学習します。

PostgreSQL LEFT JOIN句の概要

ABの二つのテーブルがあるとします。,

テーブル内の各行Aテーブル内の各行B一方、Bテーブル内の唯一の対応する行を持っていますA

テーブルAからデータを選択するには、テーブルBに対応する行がある場合とない場合があります。LEFT JOIN句を使用します。,

次のステートメントは、LEFT JOINテーブルを結合する構文を示していますAテーブルとB:

Code language: SQL (Structured Query Language) (sql)

テーブルを結合するAテーブルとAテーブルを結合するAdiv id=”41cbd4ed8b”>

テーブル左結合を使用すると、次の手順に従います。

  • まず、SELECT句でデータを選択する両方のテーブルの列を指定します。
  • 次に、AFROM句に左のテーブル(テーブルA)を指定します。,
  • 第三に、右のテーブル(テーブルB)をLEFT JOIN句とONキーワードの後に結合条件を指定します。

LEFT JOIN句は、左のテーブルからデータの選択を開始します。 左側のテーブルの各行について、pka列の値と、右側のテーブルのfka列の各行の値を比較します。,

これらの値が等しい場合、left join句は、SELECT句に表示される列を含む新しい行を作成し、この行を結果セットに追加します。これらの値が等しくない場合、left join句は、SELECT句に表示される列を含む新しい行も作成します。 さらに、右のテーブルから来る列をNULLで埋めます。,

次のベン図は、LEFT JOIN節がどのように機能するかを示しています。

LEFT JOIN

LEFT JOINとも呼ばれることに注意してください。div id=”c78884287f”>

.

PostgreSQL LEFT JOINの例

サンプルデータベースから次のfilmおよびinventoryテーブルを見てみましょう。,

filmテーブルの各行には、inventoryテーブルにゼロまたは多くの行があります。 inventoryテーブルの各行には、filmテーブルの唯一の行があります。

film_id列は、filminventoryテーブル間のリンクを確立します。,

次のステートメントは、LEFT JOIN句を使用してfilmテーブルとinventoryテーブルを結合します。

filmテーブルの行にinventoryテーブルに一致する行がない場合、この行のinventory_id列の値はNULLです。,

次のステートメントは、WHEREインベントリにないフィルムを見つけるための句を追加します。

次のステートメントは、同じ結果を返します。, 違いは、クエリをより簡潔にするためにテーブルエイリアスを使用することです。

両方のテーブルにON句で使用されている同じ列名がある場合、iv id=”11987f0d95″このテクニックは、あるテーブルから、別のテーブルに一致する行がない行を選択する場合に便利です。

コメントを残す

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

ツールバーへスキップ