データベースのGROUP BY、ORDER BY

hogeさん  
(No.1)
データベースの問題で
GROUP BY 表名.要素名
ORDER BY 表名.要素名

と答えさせる問題がありますが、たまに
GROUP BY 要素名
ORDER BY 要素名

が正解の場合がります。

どの場合に表名を付けるのがいいのでしょうか。
それともとりあえずつけておいたほうがいいのでしょうか。
2022.04.16 15:17
あんどうさん 
(No.2)
テーブルに別名を付けている場合にテーブル名.要素名にする必要があるぜ!!!!!
頑張ろうな!!
2022.04.16 15:22
さすらい人さん 
(No.3)
表が複数ある場合はつけるようにしたほうが無難ですが、
表が1つの場合は特になくても問題なくSQL文として正しい構文として処理されるので正解となるのではないかと思います。
どちらが良いかよくわからない場合は常につけておけば構文としては正しいので正解となるのではないでしょうか。
2022.04.16 15:24
GinSanaさん 
AP プラチナマイスター
(No.4)
セレクトの出力項目の書き方に合わせれば問題ありません。

表がいくつあろうがセレクトの項目が同じ項目名で被るとDB側で何を使うのかわからなくてエラーになるだけで、関係者でユニークな項目名ならどうでもいいわけです。
テーブル名で修飾されないのはDBのオプティマイザ(コンパイラ)が勝手に補完しているだけです(ついでにASも同名で補完している)。

2022.04.16 18:17
hogeさん  
(No.5)
とりあえずつけておけばいいって感じですかね?
みなさまご教授ありがとうございます。!
明日受験する方一緒に頑張りましょう!!
2022.04.16 21:47

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop