[0365] SQL,GROUP BY

平成14年度春期 初級システムアドミニストレータ試験より
次の SELECT 文を実行したときに得られる表の説明として、適切なものはどれか。

SELECT  商品コード,SUM( 単価 * 販売数量 )
FROM    商品,販売
WHERE   商品.商品コード = 販売.商品コード
GROUP BY  商品コード
ORDER BY  SUM( 単価 * 販売数量 )

商品コード別の売上合計を内容とする、3行 2列の表が得られる。
すべての商品の売上合計を内容とする、1行 1列の表が得られる。
得意先ごとの売上合計を内容とする、2行 2列の表が得られる。
得意先別でかつ商品コード別の売上一覧を内容とする、15行 2列の表が得られる。

正解

解説

 問題文の SQL では、WHERE句の条件 「商品.商品コード = 販売.商品コード」より、商品表、販売表が結合され、下のような表が生成されます。



 さらに、GROUP BY句によって、商品コード単位に行がまとめられます。抽出される列は、SELECT句で指定された商品コードと、その商品コード単位での、単価 * 販売数量 の合計です。また、ORDER BY句によって、単価 * 販売数量 の合計の昇順に行が並べ替えられます。



 よって、商品コード別の売上合計を内容とする 3行 2列の表が得られるので、アが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題