この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

SQL 結合

JOIN 句は、複数のデータセットからデータを取得するために使用します。
カスタマーデータプラットフォームでは、クエリサービス用に 4 種類の結合がサポートされています。
  • [INNER] JOIN
  • LEFT [OUTER] JOIN
  • RIGHT [OUTER] JOIN
  • FULL [OUTER] JOIN
Catalog_sales__dllCatalog_orders__dll テーブルを使用して、各種の JOIN を説明します。
1Catalog_sales__dll
2w_state__c |   i_item_id__c   | sales_before        | sales_after 
3------------+------------------+---------------------+---------------------
4 AL         | 5363626465464654 | -60.129999999999995 | -1132.3600000000004 
5 AZ         | 8823598275928542 | 186.08              | 135.19 
6 AL         | 9072358430537495 | -2109.4100000000003 | 67.32000000000001
7 NY         | 9803626465464654 | -60.129999999999995 | -1132.3600000000004 
8 NY         | 8823598275928542 | 2186.08             | 1135.19 
9 AZ         | 7372351430537405 | -2109.4100000000003 | 45.32000000004531
1Catalog_orders__dll
2w_state__c | i_item_id__c | i_order_id__c 
3------------+------------------+---------------------
4AL         | 5363626465464654 | 4909369 
5AZ         | 8823598275928542 | 3282309 
6AL         | 9072358430537495 | 2890753 
7NY         | 6803628965432654 | 1092842 
8NY         | 2713598275928231 | 9893844
9AZ         | 1372351930538405 | 2098188 
10MI         | 9013598275928231 | 9893844
11NJ         | 2009359827592623 | 2393844

[INNER] JOIN

INNER JOIN は、指定した結合条件を満たす複数のテーブルから共通するすべての行を取得します。
1SELECT expression
2FROM table1
3INNER JOIN table2
4ON table1.column = table2.column
1SELECT w_state__c, i_item_id__c
2FROM catalog_sales__dll
3INNER JOIN catalog_orders__dll
4ON catalog_sales__dll.i_item_id__c = catalog_orders__dll.i_item_id__c
1w_state__c | i_item_id__c
2------------+------------------
3AL         | 5363626465464654 
4AZ         | 8823598275928542 
5AL         | 9072358430537495

LEFT [OUTER] JOIN

LEFT OUTER JOIN は、ON 条件で指定された左側のテーブルからすべての行を取得し、もう一方のテーブルから結合条件を満たす行のみを取得します。
1SELECT columns
2FROM table1
3LEFT [OUTER] JOIN table2
4ON table1.column = table2.column
1SELECT w_state__c, i_item_id__c
2FROM catalog_sales__dll
3LEFT(OUTER) JOIN catalog_orders__dll
4ON catalog_sales__dll.i_item_id__c = catalog_orders__dll.i_item_id__c
1w_state__c | i_item_id__c 
2------------+------------------
3AL         | 5363626465464654  
4AZ         | 8823598275928542  
5AL         | 9072358430537495  
6NY         | 9803626465464654  
7NY         | 8823598275928542  
8AZ         | 7372351430537405

RIGHT [OUTER] JOIN

RIGHT OUTER JOIN は、ON 条件で指定された右側のテーブルからすべての行を取得し、もう一方のテーブルから結合条件を満たす行のみを取得します。
1SELECT columns
2FROM table1
3RIGHT [OUTER] JOIN table2
4ON table1.column = table2.column
1SELECT w_state__c, i_item_id__c
2FROM catalog_sales__dll
3RIGHT(OUTER) JOIN catalog_orders__dll
4ON catalog_sales__dll.i_item_id__c = catalog_orders__dll.i_item_id__c
1w_state__c | i_item_id__c  
2------------+------------------
3AL         | 5363626465464654 
4AZ         | 8823598275928542 
5AL         | 9072358430537495 
6NY         | 6803628965432654 
7NY         | 2713598275928231 
8AZ         | 1372351930538405 
9MI         | 9013598275928231 
10NJ         | 2009359827592623

FULL [OUTER] JOIN

FULL [OUTER] JOIN は、左のテーブルと右のテーブルからすべての行を取得し、さらに結合条件を満たす共通の行を取得します。
1SELECT columns
2FROM table1
3FULL [OUTER] JOIN table2
4ON table1.column = table2.column
1SELECT w_state__c, i_item_id__c
2FROM catalog_sales__dll
3FULL(OUTER) JOIN catalog_orders__dll
4ON catalog_sales__dll.i_item_id__c = catalog_orders__dll.i_item_id__c
1w_state__c | i_item_id__c  
2-----------+------------------
3AL         | 5363626465464654 
4AZ         | 8823598275928542 
5AL         | 9072358430537495 
6NY         | 9803626465464654 
7NY         | 8823598275928542 
8AZ         | 7372351430537405 
9NY         | 6803628965432654 
10NY         | 2713598275928231 
11AZ         | 1372351930538405 
12MI         | 9013598275928231 
13NJ         | 2009359827592623