HOME»データベーススペシャリスト掲示板»H29PM1問2設問1について
投稿する
»[0665] 広告の内容について 投稿数:6
»[0664] トップページの令和6年秋期試験の申込期間 投稿数:3
H29PM1問2設問1について [0667]
あきさん(No.1)
SQLの穴埋め問題でaについてご質問です。
こちら回答ではSUM(S.出庫数量)とあるのですが
COALESCE(SUM(S.出庫数量),0)としたら不正解でしょうか?
問題文ではSQL1は各部品の出庫年月日ごとの出庫数量を集計する。またSQL1では出庫が全くない部品も集計対象とするという記載があり、どうするかという記載はありませんでした(見落としていなければですが……)
NULLが正解なのは分かるのですが0となるように回答したら不正解なのかお伺いしたいです。
こちら回答ではSUM(S.出庫数量)とあるのですが
COALESCE(SUM(S.出庫数量),0)としたら不正解でしょうか?
問題文ではSQL1は各部品の出庫年月日ごとの出庫数量を集計する。またSQL1では出庫が全くない部品も集計対象とするという記載があり、どうするかという記載はありませんでした(見落としていなければですが……)
NULLが正解なのは分かるのですが0となるように回答したら不正解なのかお伺いしたいです。
2024.06.24 22:48
GinSanaさん(No.2)
★DB ゴールドマイスター
SUMの外側よりSUMの引数にコアレスを張っておくべきではないですか。
SQL標準の原理では集合関数のNULLの扱いが直感的ではないので、入れたくなってしまうのかもしれません。入れても悪さはしないが、入れずとも(SQL標準としては)平気なことになっているから、あえて模範解答では書かなかったのかもしれません。
SQL99
Chapter 33 -- Searching with Groups
github.com/crate/sql-99/blob/main/docs/chapters/33.rst
Set Functions and the "Ignore NULLs" Policy
SQL標準の原理では集合関数のNULLの扱いが直感的ではないので、入れたくなってしまうのかもしれません。入れても悪さはしないが、入れずとも(SQL標準としては)平気なことになっているから、あえて模範解答では書かなかったのかもしれません。
SQL99
Chapter 33 -- Searching with Groups
github.com/crate/sql-99/blob/main/docs/chapters/33.rst
Set Functions and the "Ignore NULLs" Policy
Because of the "ignore NULLs" policy, it should be rare for a set function to return NULL. The only cases are: for MIN or MAX or SUM or AVG, if every one of the Column values is NULL, or if the SELECT returns no rows at all, the function returns NULL (・・・).
「NULL を無視する」ポリシーのため、セット関数が NULL を返すことはまれです。唯一のケースは、MIN、MAX、SUM、AVG の場合、列の値がすべて NULL の場合、または SELECT が行をまったく返さない場合、関数は NULL を返します (・・・)。
2024.06.25 08:29
あきさん(No.3)
なるほど、確かに書くなら内側ですね……。
記載することで間違いとはならなさそうで、よかったです。
ご回答ありがとうございます。
記載することで間違いとはならなさそうで、よかったです。
ご回答ありがとうございます。
2024.06.25 21:15
その他のスレッド
»[0666] R2 午後2 問1 設問3 (2) 差異2 投稿数:3»[0665] 広告の内容について 投稿数:6
»[0664] トップページの令和6年秋期試験の申込期間 投稿数:3