SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

SQL INNER JOIN:完全ガイド

SQL INNER JOINステートメントは、2つのテーブルの2つの列に正確な値を持つ行を返します。 1つまたは複数の列にまたがってテーブルを結合できます。 JOINステートメントは、2つのデータベーステーブルを接続し、それらの内容を比較します。

2つ以上のテーブルから同時にデータを取得し、その結果を結合したい場合があります。

たとえば、製品のリストとそれらの製品を供給したサプライヤの名前を取得したい場合があります。製品名とサプライヤー名の情報は2つの表にあります。

ここでSQL 参加します。参加を使用して 条件では、複数のテーブルからの情報を次のように組み合わせることができます。1つの結果セット。 SQL INNER JOINは、2つのテーブルで一致する列値を持つレコードを返す結合の一種です。このチュートリアルでは、INNERJOIN。の使用方法について説明します。

SQL内部結合

SQL INNER JOINは、指定された2つのテーブルに表示される列値を持つすべてのレコードを取得します。 INNER JOINステートメントは、ONキーワードを使用して、2つのテーブルのデータを照合します。

内部結合 SQL結合の最も一般的なタイプです。 。演算子は、両方のテーブルで一致するレコードを返します。

INNER JOINの構文を見てみましょう。 キーワード:

名前を選択

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

お客様から

内部参加計画

ON Customers.plan_id =Plans.id;

このクエリは、「customers」テーブルと「plans」テーブルの行を結合します。 「plans」テーブルの任意のIDと等しい「plan_id」を持つすべての顧客のリストを返します。

INNERJOIN句を使用してテーブルを結合します。 ONキーワードは、結合するテーブルの名前の後にあります。 ONキーワードの後に​​コンマで区切って、複数の条件を指定できます。

INNERJOINSQLの例

現在、従業員の各従業員の部門IDを格納する従業員データベースがあります。 テーブル。このテーブルは、SQLCREATETABLEステートメントを使用して作成しました。部門名は、 company_departmentsという別のテーブルに保存されます。 。

こちらが従業員です テーブル:

名前 タイトル ルーク
セールスアソシエイト
マイク セールスアソシエイト ハンナ セールスアソシエイト ジェフ シニアセールスアソシエイト アレクシス セールスアソシエイト ジョナ 営業担当副社長 エマ マーケティングディレクター
従業員
department_id
1
1
1
1
1
3
2

(7行)

これは部門の表です:

名前 販売 マーケティング エグゼクティブ
company_departments
department_id
1
2
3

(3行)

すべての従業員の名前、役職、部門名を取得したいとします。このデータは2つのテーブルに含まれています。従業員の名前と役職は従業員にあります。 テーブル。部門名はcompany_departmentsにあります テーブル。

探している情報をどのように入手しますか?

従業員 テーブルにはdepartment_idという名前の列があります 。この列には、各従業員が勤務する部門のIDが保持されます。

company_departments内 テーブルでは、各部門にもID(テーブルの主キー)があります。これは、従業員の department_idと一致させることができることを意味します 部門のリストで。そうすることで、その従業員が勤務している部門の名前を見つけることができます。

従業員の名前、役職、および勤務している部門の名前を取得するクエリを作成しましょう。

SELECT Employees.Name, Employees.Title, Company_Departments.Name
FROM Employees
INNER JOIN Company_Departments
ON Employees.Department_ID = Company_Departments.Department_ID;

クエリは次の一致する行を返します:

名前 タイトル 名前
アレクシス セールスアソシエイト 販売
ジェフ シニアセールスアソシエイト 販売
ハンナ セールスアソシエイト 販売
マイク セールスアソシエイト 販売
ルーク セールスアソシエイト 販売
エマ マーケティングディレクター マーケティング
ジョナ 営業担当副社長 エグゼクティブ

最初の行では、従業員から従業員の名前と役職を取得するようにデータベースに指示します。 テーブル。また、 company_departmentsから会社の部門の名前を取得します テーブル。

2行目では、従業員から従業員情報を取得することを指定しています。 テーブル。次に、 INNER JOINを使用します 従業員をつなぐ company_departmentsのあるテーブル 部門の名前を含むテーブル。

最後に、最後の行は両方の従業員をリンクしています およびcompany_departments 共通のフィールド(この場合は department_id )でテーブルをまとめます 。

結論

SQL INNER JOINステートメントは、2つのテーブル間で2つの一致する列値を持つレコードを取得します。 ONステートメントを使用すると、内部結合が実行される条件を指定できます。

結合の習得は、 SQLのクエリの重要な部分です。 データベースを理解することで、 SQLになるための一歩を踏み出すことができます。 エキスパート。

SQLを習得するような学習者を支援するために、SQLの学習方法ガイドを作成しました。このガイドには、SQLの学習方法に関するアドバイスだけでなく、主要な学習リソースとコースのリストが含まれています。 SQLの学習方法ページのガイドを確認してください。


  1. SQLServerでの結合

    SQL Server(Transact-SQL)では、JOINは複数のテーブルからデータを取得するために使用され、SQLコマンドで2つ以上のテーブルが接続されている場合に発生します。 SQLServerの4種類のJOINを次に示します 内部結合 -単純な接続フォームとも呼ばれます 左外側の結合 -またはLEFTJOIN 右外側の参加 -またはRIGHTJOIN 完全な外部参加 -または完全に参加 次に、SQL ServerのJOINをよりよく理解するために、構文、図、および例を見てみましょう。 内部結合 ほとんどの場合、特定のコマンドですでにINNERJOINを使用しています。これは最も一

  2. 完全ガイド:Fitbit Pay

    Fitbit は、利用可能な最高のスマート ウェアラブルの 1 つです。多くのモデルがあり、多くの機能を備えています。 Fitbit の有名な機能の 1 つに Fitbit Pay があります。 Fitbit Ionic と Fitbit Versa の近距離無線通信チップを使用すると、非接触型決済を利用できるあらゆる店舗で支払うことができます。 この投稿では、Fitbit Pay の使用方法を理解するのに役立つ完全なガイドを掲載しています。 Fitbit Pay とは? Fitbit Pay は、Fitbit Ionic および Versa にデビット カードまたはクレジット カードを追