logo

SQL 左結合

SQL 左結合 このコマンドは、左側のテーブルからすべてのレコードを返し、右側のテーブルから一致するレコードを返します。

Javaのハッシュセットとは何ですか

SQL の LEFT JOIN

SQL の LEFT JOIN は、テーブル間の関連する列に基づいて、2 つ以上のテーブルの行を結合するために使用されます。左側のテーブルからすべての行を返し、右側のテーブルから一致するレコードを返します。



右側のテーブルに一致するレコードがない場合、右側のテーブルのレコードには次のものが含まれます。 NULL値

つまり、特定の行が左側のテーブルには存在するが右側には存在しない場合、結果にはその行が含まれますが、右側からの各列には NULL 値が含まれます。右側のテーブルのレコードが左側にない場合、そのレコードは結果に含まれません。

LEFT JOIN ベン図

この VENN 図は、LEFT JOIN がどのように機能するかを示しています。



左結合

左結合

構文

LEFT JOIN 構文は次のとおりです。

SELECT 列名
テーブルAから
LEFT JOIN tableB ON tableA.column_name = tableB.column_name;



SQL LEFT JOIN の例

より深く理解するために、SQL の LEFT JOIN の例を見てみましょう。

特定の部門で働く従業員の詳細を含む 2 つのテーブル Emp と、部門の詳細を含む部門テーブルを考えてみましょう。

従業員テーブル

クエリ:

Linuxディレクトリの名前を変更する
CREATE TABLE Emp (  EmpID INT PRIMARY KEY,  Name VARCHAR(50),  Country VARCHAR(50),  Age INT,  Salary INT,  department_id INT );  INSERT INTO Emp (EmpID, Name, Country, Age, Salary, department_id) VALUES (1, 'Shubham', 'India', 23, 30000, 101),  (2, 'Aman', 'Australia', 21, 45000, 102),  (3, 'Naveen', 'Sri Lanka', 24, 40000, 103),  (4, 'Aditya', 'Austria', 21, 35000, 104),  (5, 'Nishant', 'Spain', 22, 25000, 101);>

出力:

従業員テーブル

従業員テーブル

部門テーブル

クエリ:

  CREATE TABLE department (  department_id INT PRIMARY KEY,  department_name VARCHAR(50),  department_head VARCHAR(50),  location VARCHAR(50) );  INSERT INTO department (department_id, department_name, department_head, location)  VALUES (101, 'Sales', 'Sarah', 'New York'),  (102, 'Marketing', 'Jay', 'London'),  (103, 'Finance', 'Lavish', 'San Francisco'),  (104, 'Engineering', 'Kabir', 'Bangalore'); Select * from department;>

出力:

バイアスと分散
部門テーブル

部門テーブル

SQL の LEFT JOIN の例

これら 2 つのテーブルで左結合を実行するには、次の SQL クエリを使用します。

  SELECT   Emp.EmpID, Emp.Name, department. department_name, department.department_head,  department.location    FROM   Emp   LEFT JOIN   department   ON   Emp.department_id = department.department_id;>

出力:

SQL 出力例の左結合

SQL 出力例の LEFT JOIN

左結合では、一致する行と、左側のテーブルには存在するが右側のテーブルには存在しない行が提供されます。この例では、特定の部門で働いていない従業員、つまり部門の値が [NULL] である従業員には、左結合の後に部門名と所在地の [NULL] 値が含まれていることがわかります。

WHERE 句を使用した SQL LEFT JOIN の例

この例では、 WHERE句 これは、部門テーブルの location 列が「バンガロール」に等しい結果のみを返すように指定します。これにより、バンガロールにある部門に所属する従業員のみが表示されるように結果がフィルター処理され、従業員がいない部門は結果に返されません。

クエリ:

2つの文字列の違いPython
  SELECT   e.EmpID, e.Name, d.department_name,  d.department_head, d.location    FROM   Emp e   LEFT JOIN   department d   ON   e.department_id  = d.department_id   WHERE   d.location = 'Bangalore';>

出力:

where句を使用したSQL left joinの出力例

WHERE 句を使用した SQL LEFT JOIN の例

エイリアスとしての SQL LEFT JOIN の例

このクエリでは、Emp テーブルに別名 e を使用し、部門テーブルに d を使用します。の 選択する ステートメントは各列に対してこれらのエイリアスを参照するため、クエリの読み取りと入力が容易になります。エイリアスを使用すると、コードが簡素化され、特に長いテーブル名や複雑なテーブル名の場合に読みやすさが向上します。

クエリ:

  SELECT   e.EmpID, e.Name, d.department_name,  d.department_head, d.location    FROM   Emp e   LEFT JOIN   department d   ON   e.department_id = d.department_id;>

出力:

SQL left join as aliases 出力例

エイリアスとしての SQL LEFT JOIN の出力例

SQL LEFT JOIN に関する重要なポイント

  • LEFT JOIN は、左側のテーブルからすべてのレコードを返し、右側のテーブルから一致するレコードを返します。
  • 右側の不一致レコードには NULL 値が含まれます。
  • LEFT JOIN は、関連する列に基づいてデータを結合するために使用されます。
  • エイリアスを使用すると、長いテーブル名のクエリを簡素化できます。
  • WHERE 句を伴う LEFT JOIN は、レコードのフィルタリングに使用されます。