T-sql-joining-tables
提供:Dev Guides
T-SQL-テーブルの結合
MS SQL Serverの Joins 句は、データベース内の2つ以上のテーブルのレコードを結合するために使用されます。 JOINは、それぞれに共通の値を使用して2つのテーブルのフィールドを結合するための手段です。
次の2つのテーブルを検討してください、(a)CUSTOMERSテーブルは次のとおりです-
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00
{空}(b)別のテーブルは次のようにORDERSです-
OID DATE CUSTOMER_ID AMOUNT
100 2009-10-08 00:00:00.000 3 1500.00
101 2009-11-20 00:00:00.000 2 1560.00
102 2009-10-08 00:00:00.000 3 3000.00
103 2008-05-20 00:00:00.000 4 2060.00
次のようにSELECTステートメントでこれらの2つのテーブルを結合しましょう-
SELECT ID, NAME, AGE, AMOUNT
FROM CUSTOMERS, ORDERS
WHERE CUSTOMERS.ID = ORDERS.CUSTOMER_ID
OR
SELECT A.ID, A.NAME, A.AGE, B.AMOUNT
FROM CUSTOMERS A inner join ORDERS B on A.ID = B.Customer_ID
上記のコマンドは、次の出力を生成します。
ID NAME AGE AMOUNT
2 Khilan 25 1560.00
3 kaushik 23 1500.00
3 kaushik 23 3000.00
4 Chaitali 25 2060.00
WHERE句で結合が実行されることがわかります。 =、<、>、<>、⇐、> =、!=、BETWEEN、LIKE、NOTなど、いくつかの演算子を使用してテーブルを結合できます。それらはすべてテーブルの結合に使用できます。 ただし、最も一般的な演算子は等号です。
MS SQL Serverの結合タイプ-
MS SQL Serverで利用可能な結合の種類があります-
- INNER JOIN -両方のテーブルに一致する行を返します。
- LEFT JOIN -右のテーブルに一致がない場合でも、左のテーブルからすべての行を返します。
- RIGHT JOIN -左のテーブルに一致がない場合でも、右のテーブルからすべての行を返します。
- FULL JOIN -いずれかのテーブルに一致する行を返します。
- SELF JOIN -これは、テーブルが2つのテーブルであるかのようにテーブルをそれ自体に結合するために使用され、MS SQL Serverステートメントで少なくとも1つのテーブルの名前を一時的に変更します。
- CARTESIAN JOIN -2つ以上の結合されたテーブルからのレコードのセットのデカルト積を返します。