OSS-DB Silver / SQL: データ操作とデータ型 ・ 無料問題 2/5
SQL: データ操作とデータ型 問題2[SQL コマンド]
次の SQL を実行したときの出力を選んでください。出力は列を | で区切り、NULL は NULL と表示するものとします。
CREATE TABLE emp (dept text, salary integer);INSERT INTO emp VALUES ('dev', 400), ('dev', NULL), ('sales', 300), ('sales', 500);SELECT dept, count(*), count(salary), sum(salary) FROM emp GROUP BY dept ORDER BY dept;選択肢
- A.dev|1|1|400 sales|2|2|800
- B.dev|2|1|NULL sales|2|2|800
- C.dev|2|2|400 sales|2|2|800
- D.dev|2|1|400 sales|2|2|800正解
解説実行して確認済み
count(*) は NULL を含めて行の数を数え、count(列) はその列が NULL でない行だけを数えます。sum などの集約関数も NULL を無視するので、dev の合計は 400 です (すべて NULL のときだけ NULL になります)。
この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。
OSS-DB Silver の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。