アプリ版:「スタンプのみでお礼する」機能のリリースについて

order byに列名を記述した場合、selectにその列名がなくてもエラーが出ないのはどうしてですか

selectとorder byが1対1の関係
もしくは
selectとorder byは関係なく実表の列番号に依存する
みたいのほうがわかりやすいのですが

A 回答 (3件)

内部的には select * としたのと同じだけの列があって、where とか order とかでは、その列での判定が使える。


最後に select 列名 で指定した分だけが出力される。

って考えると、何も不思議なことはありません


数えなくちゃわからない列番号より、名前の方が直感的でわかりやすいと思います。
    • good
    • 0

mysqlの場合order by 数値で出力される列番号でソートされます

    • good
    • 0

疑問に対する私の理解が間違っているかもしれませんが。

。。

逆にselectにある列でしかorderできなかったら大変だと思いますが。
id/name/price という列だったとして、name=バナナ、price<1000 でselectしたあとにidで並べ替えるときどうするの?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!