SQLServerでの結合
SQL Server(Transact-SQL)では、JOINは複数のテーブルからデータを取得するために使用され、SQLコマンドで2つ以上のテーブルが接続されている場合に発生します。 SQLServerの4種類のJOINを次に示します
- 内部結合 -単純な接続フォームとも呼ばれます
- 左外側の結合 -またはLEFTJOIN
- 右外側の参加 -またはRIGHTJOIN
- 完全な外部参加 -または完全に参加
次に、SQL ServerのJOINをよりよく理解するために、構文、図、および例を見てみましょう。
ほとんどの場合、特定のコマンドですでにINNERJOINを使用しています。これは最も一般的なタイプの接続であり、接続条件が満たされたときにテーブルからすべての行を返します。
INNERJOIN構文
SELECT cot
FROM bang1
INNER JOIN bang2
ON bang1.
cot = bang2.cot;
内部結合の図解画像
返される結果は、state1とbang2の間の共通レコードです。
内部結合の例
SELECT nhacung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay
FROM nhacung
INNER JOIN donhang
ON nhacung.nhacung_id = d
onhang.nhacung_id;
上記の例で返される結果は、nhacung_idの値が2テーブルに等しい場合、「supplier」テーブルと「order」テーブルの情報の行です。
理解を深めるために、特定のデータを含む例を見てみましょう。
nhacungテーブルには、nhacung_idとnhacung_tenの2つの情報フィールドがあります。
nhacung_id nhacung_ten 10000 IBM 10001 Hewlett Packard 10002 Microsoft 10003 NVIDIAdonhangテーブルは、donhang_id、nhacung_id、donhang_ngayの3つのフィールドで構成されています。
donhang_id nhacung_id donhang_ngay 500125 10000 2003/05/12 500126 10001 2003/05/13 500127 10004 2003/05/14以下のSELECTコマンド(INNER JOINを使用)を実行する場合:
SELECT nhacung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay
FROM nhacung
INNER JOIN donhang
ON nhacung.nhacung_
id = donhang.nhacung_id;
これは返される結果セットです:
nhacung_id 10 IBM donhang_ngay 10000 2003/05/12 10001 Hewlett Packard 2003/05/13nhacung_id(10002および10003)は1つのテーブルでしか使用できないため、テーブルからMicrosoftおよびNVIDIA製品が削除されます。 nhacung_id 10004がnhacungテーブルにないため、donhangテーブルの行500127(donhang_id)が削除されます。
INNERJOINの古い構文
INNER JOINは、以下のように古い構文で書き直すことができます(ただし、INNER JOINキーワードを含む構文を使用することをお勧めします)
SELECT musicung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay
FROM donhang, nhacung
WHERE nhacung.n
hacung_id = donhang.nhacung_id;
一部のデータベースは、LEFTOUTERJOINの代わりにLEFTJOINを使用します。このタイプの接続は、左側のパネルの行をON状態で返し、設定された条件を満たす残りのテーブルのみを取得します。
構文の左結合
SELECT cot
FROM bang1
LEFT [OUTER] JOIN bang2
ON bang1.co
t = bang2.cot;
青い領域の結果としての左結合を示します
返される結果は、state1と、state1(画像の青い領域)に割り当てられたbang2にあるレコードで構成されます。
左結合の例
SELECT nhacung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay
FROM nhacung
LEFT OUTER JOIN donhang
ON nhacung.nhac
ung_id = donhang.nhacung_id;
上記の例では、テーブルからすべての行が返され、donhangテーブルの要件を満たす行のみが返されます。テーブルのnhacung_id値がdonhangテーブルに存在しない場合、donhangのすべてのフィールドに結果が結果テーブルに表示されます。
以下は具体的な例です。テーブルにはnhacung_idとnhacung_tenが含まれています。
nhacung_id nhacung_ten 10000 IBM 10001 Hewlett Packard 10002 Microsoft 10003 NVIDIADonhangテーブルには、donhang_id、nhacung_id、およびdonhang_ngayが含まれます。
donhang_id nhacung_id donhang_ngay 500125 10000 2003/05/12 500126 10001 2003/05/13以下のSELECTコマンドを実行する場合:
SELECT nhacung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay
FROM nhacung
LEFT OUTER JOIN donhang
ON nhacung.nhacun
g_id = donhang.nhacung_id;
結果は次のようになります:
nhacung_id nhacung_ten 10000 IBM donhang_ngay 2003/05/12 10001 Hewlett Packard 2003/05/13 10002 Microsoft 10003 NVIDIAMicrosoftとNVIDIAの行は、LEFT OUTER JOINを使用しているため、結果セットに残ります(左側のすべてのテーブルを取得) 。その間、これらのレコードのdonhang_ngayは有効になります。
一部のデータベースは、RIGHTOUTERJOINではなくRIGHTJOINを使用します。このタイプの接続は、ON条件で右側のテーブルの行を返し、設定された条件を満たす残りのテーブルのみを取得します。
構文の右結合
SELECT cot
FROM bang1
RIGHT [OUTER] JOIN bang2
ON bang1.cot =
bang2.cot;
イラスト右結合
返される結果にはbang2が含まれ、レコードはbang2(画像の青い領域)に割り当てられたstate1にあります。
右結合の例
SELECT donhang.donhang_id, donhang.donhang_ngay, nhacung.nhacung_ten
FROM nhacung
RIGHT OUTER JOIN donhang
ON nhacung.nha
cung_id = donhang.nhacung_id;
返される結果は、donhangテーブルのすべての行と、nhacungテーブルの要件を満たす行のみです。
donhangテーブルのnhacung_idの値がテーブルに存在しない場合、リスト内のすべてのフィールドが結果テーブルに表示されます。
以下は具体的な例です。テーブルにはnhacung_idとnhacung_tenが含まれています。
nhacung_id nhacung_ten 10000 Apple 10001 GoogleDonhangテーブルには、donhang_id、nhacung_id、donhang_ngayが含まれます。
donhang_id nhcung_id donhang_ngay 500125 10000 2003/08/12 500126 10001 2003/08/13 500127 10002 2003/08/14以下のSELECTコマンドを実行する場合:
SELECT donhang.donhang_id, donhang.donhang_ngay, nhacung.nhacung_ten
FROM nhacung
RIGHT OUTER JOIN donhang
ON nhacung.nhacung_id
= donhang.nhacung_id;
結果は次のようになります:
donhang_id donhang_ngay nhacung_id 500125 2003/08/12 Apple 500126 2003/08/13 Google 500127 2003/08/14RIGHT OUTERJOINが使用中で。そのレコードのnhacung_tenには値が含まれていることに注意してください。
一部のデータベースは、FULLOUTERJOINではなくFULLJOINを使用します。この接続タイプは、左右のテーブルのすべての行と、条件を満たさない条件で設定されたNULL値を返します。
構文の完全結合
SELECT cot
FROM bang1
FULL [OUTER] JOIN bang2
ON bang1.c
ot = bang2.cot;
緑の領域の結果で完全に参加することを示します
返される結果には、bang1とbang2のすべてのレコードが含まれます。
完全な結合の例
SELECT nhacung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay
FROM nhacung
FULL OUTER JOIN donhang
ON nhacung.nhacung_i
d = donhang.nhacung_id;
上記の例では、テーブルとドンハングからすべての行が返されますが、条件が満たされない場合、値は結果テーブルに設定されます。
音楽パネルのnhacung_idがdonhangテーブルにない場合、またはdonhangテーブルの値nhacung_idが音楽パネルにない場合は、情報フィールドが表示されます。
以下は、FULLOUTERJOINの具体例です。テーブルにはnhacung_idとnhacung_tenが含まれています。
nhacung_id nhacung_ten 10000 IBM 10001 Hewlett Packard 10002 Microsoft 10003 NVIDIADonhangテーブルには、donhang_id、nhacung_id、およびdonhang_ngayが含まれます。
donhang_id nhacung_id donhang_ngay 500125 10000 2003/08/12 500126 10001 2003/08/13 500127 10004 2003/08/14以下のSELECTコマンドを実行する場合:
SELECT nhacung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay
FROM nhacung
FULL OUTER JOIN donhang
ON nhacung.nhacung_i
d = donhang.nhacung_id;
結果は次のようになります:
nhacung_id nhacung_ten 10,000 donhang_ngay IBM 2003/08/12 10001 Hewlett Packard 2003/08/13 10002 Microsoft 10003 NVIDIA 2003/08/14MicrosoftおよびNVIDIA製品は、使用しているため、引き続き結果セットに含まれます。フルアウタージョイン。次に、これらのレコードのdonhang_ngayに値が含まれます。 nhacung_idの行は10004で、これも結果テーブルにありますが、これらのレコードのnhacung_idとnhacung_tenには値が含まれています。
-
SQLServerでの結合
SQL Server(Transact-SQL)では、JOINは複数のテーブルからデータを取得するために使用され、SQLコマンドで2つ以上のテーブルが接続されている場合に発生します。 SQLServerの4種類のJOINを次に示します 内部結合 -単純な接続フォームとも呼ばれます 左外側の結合 -またはLEFTJOIN 右外側の参加 -またはRIGHTJOIN 完全な外部参加 -または完全に参加 次に、SQL ServerのJOINをよりよく理解するために、構文、図、および例を見てみましょう。 内部結合 ほとんどの場合、特定のコマンドですでにINNERJOINを使用しています。これは最も一
-
MS SQL Serverとは何ですか?
SQL Serverとは何ですか? RDBMSに基づいてMicrosoftが開発したソフトウェア。 また、ORDBMS(オブジェクトリレーショナルデータベース管理システム)。 独立したプラットフォーム。 ソフトウェアは、コマンドラインインターフェイスとGUIインターフェイスの両方を使用します。 SQL言語のサポート(以前のSEQUEL-構造化された英語のクエリ言語)-これはIBMの製品です。 SQLServerを使用する目的 データベースを作成します。 データベースを維持します。 SSASによるデータ分析-SQLServerAnalysisServices。 SSRSによるレポートの作