助け合いフォーラム

Oracle DB

Oracle Master Silver SQL 2019(1Z0-071)
問題ID : 26490
問題を開く
SELECT文で指定する句の順番として正しいものはどれですか(該当するものを全て選択して下さい)。

正解

1.SELECT 2.FROM 3.WHERE 4.HAVING 5.GROUP BY 6.ORDER BY

1.SELECT 2.FROM 3.WHERE 4.GROUP BY 5.HAVING 6.ORDER BY

解説

SELECT文に指定する句の順序は、
1.SELECT句
2.FROM句
3.WHERE句
4.GROUP BY句
5.HAVING句
6.ORDER BY句
です。ただし、GROUP BY句とHAVING句は入れ替えができます。

以上より、
・1.SELECT 2.FROM 3.WHERE 4.HAVING 5.GROUP BY 6.ORDER BY
・1.SELECT 2.FROM 3.WHERE 4.GROUP BY 5.HAVING 6.ORDER BY
が正解となります。
上に戻る

GROUP BY句とHAVING句は入れ替えができるというのは正しいか

公開日 2024/06/16

本設問の回答として、GROUP BY句とHAVING句は入れ替えができる、とあります。
しかし一般的にはGROUP BY句の後にHAVING句が来るべきで、AI的にも入れ替えはできない、という回答でした。

以下の選択肢が◯なのは、回答が間違っているという解釈でよいのでしょうか?

1.SELECT 2.FROM 3.WHERE 4.HAVING 5.GROUP BY 6.ORDER BY


A ALM0STE4ZY

2024/06/16 15:17

以下問題の回答も同様の内容かもしれません。 問題ID:26695, 26696

A ALM0STE4ZY

2024/06/17 02:22

自己解決しましたmm OracleではGROUP BY句とHAVING句を両方使う場合、順序はどちらでもいいらしい。 https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10002.htm#SQLRF20040

2024/06/17 20:53

私も個人的には GROUP BY 句が先にくるイメージでしたが、気になったので19cや21cのマニュアルも確認してみたところ、やはり同様に「どちらの順序でも指定できます」と記載されていますね。勉強になりました。


コメント

A ALM0STE4ZY

2024/06/18 01:29

返信いただきありがとうございます! マニュアルにもちゃんと記載されていたんですね、勉強になりましたmm

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?