フィードバックを送信
SQL 関数を説明する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
SQL コード スニペットについて説明します。
直接モデルにクエリを実行して、返された結果をテストできます。その場合、Cloud コンソールでさまざまなパラメータ値を使用することも、Vertex AI API を直接呼び出すこともできます。
以下のコードの
CROSS APPLY
の機能を説明してください。
SELECT customer . CustomerId , customer . CustomerName , ord . *
FROM customers customer
CROSS APPLY
(
SELECT SUM ( order . quantity ) as TotalQuantity
FROM orders order
WHERE order . CustomerId = customer . CustomerId
) ord ;
レスポンス
CROSS APPLY
の説明:
提供された SQL コードでは、CROSS APPLY
を使用して、customers
テーブルと、各顧客の注文の合計数量を計算するサブクエリとの間でラテラル結合を実行します。順を追って説明しましょう。
外部結合のテーブル(customers
) : クエリは、customers
テーブルから選択することから始まります。このテーブルには、各顧客に関する情報(CustomerId、CustomerName)が含まれているはずです。
CROSS APPLY
: この句は、サブクエリとのラテラル結合を導入します。customers
テーブルの各行に対して、サブクエリが実行されます。
サブクエリ : サブクエリは、特定の顧客の注文の TotalQuantity
を計算します。これは次の方法で実現しています。
orders
テーブルから SUM(order.quantity)
を選択します。
条件 order.CustomerId = customer.CustomerId
に基づいて注文をフィルタします。これにより、外部結合のテーブルの現在の顧客に属する注文のみが合計に含まれます。
相関 : ここで重要なのは、外部結合のテーブルとサブクエリの間の関係です。外部結合クエリの customer.CustomerId
は、サブクエリの WHERE
句内で参照されるため、サブクエリは各顧客に固有の TotalQuantity
を動的に調整して計算できます。
結果 : 最終的な結果セットには、customers
テーブルの列(CustomerId、CustomerName)と、サブクエリで計算された TotalQuantity
(ord
というエイリアス)が含まれ、各顧客とその合計注文数の包括的なビューが提供されます。
CROSS APPLY
を使用する理由
このシナリオでは、CROSS APPLY
が適しています。理由は次のとおりです。
顧客ごとに個別に計算(注文数の合計)を行う必要があります。
サブクエリの計算は、外部結合の customers
テーブルの特定の CustomerId
によって異なります。
CROSS APPLY
を使用すると、顧客行ごとにサブクエリが評価され、必要な情報が組み込まれた結果セットが生成されます。
CROSS APPLY
は明確さと効率性のためによく使用されますが、SELECT
句内で相関サブクエリを使用しても同様の結果が得られます。
SELECT customer . CustomerId , customer . CustomerName ,
(
SELECT SUM ( order . quantity )
FROM orders order
WHERE order . CustomerId = customer . CustomerId
) as TotalQuantity
FROM customers customer ;
ただし、特に複数の計算や複雑なサブクエリを扱う場合、CROSS APPLY
のほうが読みやすく効率的です。
モデル:
gemini-1.5-pro-preview-0409
Temperature:
1
最大出力トークン:
8192
TopK:
40
トップ P
0.95
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-05-09 UTC。
ご意見をお聞かせください
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-05-09 UTC。"],[],[]]