HOME > 受験対策 > サンプル問題/例題解説 > Silverの例題解説「開発/SQL」 > 組込関数(集約関数)

Silverの例題解説「開発/SQL - 組込関数(集約関数)」

今回は、Silverの「開発/SQL - 組込関数(集約関数)」からの出題です。

例題

以下の一連のSQL文を実行した。

CREATE TABLE test (x INTEGER);
INSERT INTO test(x) VALUES (null), (1), (2), (3);
SELECT sum(2) FROM test;

最後のSELECT文が返す値は何か。数値を答えよ。

※この例題は実際のOSS-DB技術者認定試験とは異なります。

解答と解説

物は試し、実際にやってみましょう。

=> select sum(2) from test;
 sum
-----
   8
(1 行)

というわけで、正解は8です。

なぜ、そうなるのか。それはSELECT文がどういう行とデータを返すかを理解していればわかるはずです。

=> select x from test;
 x
---

 1
 2
 3
(4 行)

という動作はSQLの入門で学ぶので誰でもわかると思います。selectの対象としてxの代わりに2を指定すると、select文が返す各行について、値2を出力します。つまり、

=> select 2 from test;
 ?column?
----------
        2
        2
        2
        2
(4 行)

という結果になります。
sum関数で列(この場合は値2)を括ると、各行で出力した値の合計値を求めるため、結果は8となります。

  • 今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

ページトップへ