select文でin句を使ったときの戻りの順番について
in句を使ったとき、どういう順番でデータが戻ってくるのかなと思って調べた。
そもそもin句が何かっていうところをきちんと理解してる人はコレ悩まないと思うけど。
無学ですみません。
【in句】
同じフィールドに設定する条件をまとめる機能を持つ、where句で用いる構文。
OR句で書き換えが可能 ←これ大切でした。
なので、単純にorder byした順番でデータ返ってくるわけでした。
なんかjavaからリスト渡して使ったり、、、とか考えてたらリストで渡した順番で戻ってこないかなーとか思ってしまっていた。
外部キー的なもので別テーブルを引くようなことする場合は、in句で取得しようとすると順番指定できないんじゃなかろうか。
ブログの更新順にその記事を書いたユーザーのプロフィール情報を取得しようとして、プロフィール情報を持ったテーブルにin句を使ってプロフィール情報取りに行ったりとか。。
ブログの更新順とかプロフィールのテーブルは知らねーよ、っていう話だと思うので。まぁやり方はちょっと考えれば色々出てきそうだけどSQLを分けちゃうとちょっとなぁ。。
そもそもin句使う場合のパフォーマンスについての懸念はこれもまたイマイチわかってないので追々調べることにする。
でも少しすっきりしたな。うん。