私のデータベースにはDomesticSalesOrders
とInternationalSalesOrders
の2つのテーブルが含まれています。どちらの表にも1億以上の行が含まれています。各テーブルには、SalesOrderId
という名前の主キー列があります。 2つのテーブルのデータは、互いに異なっています。SQL Unionすべての質問
ビジネスユーザーは、グローバル売上の合計数と合計売上金額の合計情報を含むレポートが必要です。可能な限り最小限の時間でクエリが実行されるようにする必要があります。どのクエリを使用する必要がありますか?
オプション1:
SELECT
COUNT(*) AS NumberOfSales,
SUM(SalesAmount) AS TotalSalesAmount
FROM
(
SELECT
SalesOrderId,
SalesAmount
FROM
DomesticSalesOrders
UNION ALL
SELECT
SalesOrderId,
SalesAmount
FROM
InternationalSalesOrders
) AS p
オプション2:
SELECT
COUNT(*) AS NumberOfSales,
SUM(SalesAmount) AS TotalSalesAmount
FROM
DomesticSalesOrders
UNION ALL
SELECT
COUNT(*) AS NumberOfSales,
SUM(SalesAmount) AS TotalSalesAmount
FROM
InternationalSalesOrders
私は両方が正しいと思いますが、私は違うのか理解できないのですか?おかげ
試しましたか?どのような結果を観察しましたか? – nicomp
これは宿題のように聞こえます。 – Dai