ホームページ >テクノロジー周辺機器 >AI >sql左結合vs.左外の結合

sql左結合vs.左外の結合

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌オリジナル
2025-03-09 12:00:31209ブラウズ

SQLは、リレーショナルデータベースと相互作用するための強力なツールです。 SQLでテーブルを使用する場合、多くの場合、複数のテーブルからのデータを組み合わせる必要があります。これは、参加オペレーションヘルプです。左結合と左外の結合は、一般的に使用される2つのコマンドです。それらは異なっているように見えますが、実際に同じ機能を実行します。 SQL左結合と左外の結合の作業と違いを理解しましょう。

目次

  • 左結合とは?
  • 左外結合とは?表へのデータ
  • ステップ4:クエリの実行
    • 結論
    • よくある質問
    • 左結合とは?
    左結合は、関連する列に基づいて2つのテーブルから行を組み合わせたSQL結合操作の一種です。左結合の重要な機能は、左のテーブルからすべての行と右のテーブルから一致する行を返すことです。一致しない場合、結果には右のテーブルからの列のnull値が含まれます。
  • syntax
  • 上記の構文で

left_table

:すべての行が返されるプライマリテーブル。

right_table
SELECT columns
FROM left_table
LEFT JOIN right_table
ON left_table.column_name = right_table.column_name;
:一致した行が返されるセカンダリテーブル。

column_name
    :2つのテーブルを結合するために使用される列
  • 左結合の例
  • このクエリは、すべての従業員とそれに対応する部門名を取得します。従業員が部門に割り当てられていない場合、結果は部門名のnullを表示します。 また読む:sqlに参加 - 内側、左、右、完全な参加者は説明した 左外の結合とは?
  • 左外結合は、左結合とまったく同じように動作します。左のテーブルからすべての行を返し、右のテーブルから一致した行を返します。一致しない場合、右のテーブルから列のnullを返します。 「外側」という用語はオプションであり、結合の動作を変更しません。一部のSQL方言で明確にするためによく使用されます syntax

上記と同じ例を使用して、次のようにクエリを書き換えることができます。 ご覧のとおり、構文は左結合と同じです。唯一の違いは、外側という言葉を含めることです。

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.id;
左外結合の例

このクエリは、左の結合と同じように、すべての従業員とそれに対応する部門名を取得します。従業員が部門に割り当てられていない場合、結果は部門名のnullを表示します。 また、読み取り:基本から前進レベルへのSQLガイド

sql左結合vs.左外結合

左の結合および左外結合

は異なって表示される場合がありますが、それらはSQLで機能的に同一です。唯一の違いは、構文にあります:
  • 左結合
  • :より短く、より一般的に使用されています。
  • 左外の結合:オプションの“ outer”
  • clarityのキーワードを含めます

両方のコマンドが同じ結果を返しているので、それらの間の選択は個人的または組織的な好みの問題です。

実用的な例:左結合および左外結合

従業員と部門のテーブルを持つサンプルデータベースを作成し、左結合と右結合の例を使用して、次のSQLコマンドを使用できます。

ステップ1:データベースを作成

最初に、テーブルが存在するデータベースを作成します

ステップ2:テーブルを作成

SELECT columns
FROM left_table
LEFT JOIN right_table
ON left_table.column_name = right_table.column_name;
さあ、従業員と部門のテーブルを作成しましょう

ステップ3:テーブルにデータを挿入します

さて、両方のテーブルにサンプルデータを挿入します:
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.id;

output:

SELECT columns
FROM left_table
LEFT OUTER JOIN right_table
ON left_table.column_name = right_table.column_name;

sql左結合vs.左外の結合output:

SELECT employees.name, departments.department_name
FROM employees
LEFT OUTER JOIN departments
ON employees.department_id = departments.id;

ステップ4:クエリを実行

sql左結合vs.左外の結合データベースとテーブルが作成され、データが入力されたので、左結合と右の結合クエリを実行できます。

左に結合query

output:

CREATE DATABASE company_db;
USE company_db;

右にQuery

に参加します

sql左結合vs.左外の結合

output:

-- Create the 'departments' table
CREATE TABLE departments (
    id INT PRIMARY KEY,
    department_name VARCHAR(100) NOT NULL
);

-- Create the 'employees' table
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES departments(id)
);

左結合または左外結合を使用する

sql左結合vs.左外の結合

データ取得

:右のテーブルに一致するレコードがない場合でも、左のテーブルからすべてのレコードが必要なときに左結合を使用します。

    レポート
  • :関係に関係なく、すべてのアイテム(製品、従業員など)を含めることをお勧めします。 データ分析
  • :データセット間のギャップまたは欠落している関係を特定するのに役立ちます。
  • 結論 要約すると、左の結合と左外の結合は両方ともSQLの同義語であり、2つのテーブルからのデータを結合しながら、左側のテーブルからのすべてのレコードが結果セットに含まれることを保証するという同じ目的を果たします。一方の用語を他の用語で使用することの選択は、多くの場合、個人的または組織的な好みに帰着します。これを理解することで、SQLクエリを書くときに効率を高め、データ操作タスク中の混乱を防ぐことができます。

    これらのSQLプロジェクトでテストするためにSQLの知識を入力してください!

    よくある質問

    q1。左結合と左外結合の違いは何ですか?違いはありません。 左結合と左外の結合は機能的に同一です。 「外側」という用語はオプションであり、明確にするために使用されます。いつ左結合を使用する必要がありますか?右のテーブルに一致するレコードがない場合でも、左のテーブルからすべてのレコードが必要なときに左結合を使用します。左結合にはnull値が含まれますか?はい、左の結合は、左のテーブルの列に一致しない場合、右のテーブルから列のnull値を返します。左結合と左外の結合を互換性がありますか?はい、SQLクエリで左結合と左外結合を互換性があります。どちらも同じ結果を生成します。

以上がsql左結合vs.左外の結合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。