![](https://cdn-ak-scissors.b.st-hatena.com/image/square/d119b77fbed5cfedd8dfbd9813cdad63af4047a5/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9U1FMJUU4JUE4JTk4JUU4JUJGJUIwJUU4JTgwJTg1JUU1JTg1JUE4JUU1JTkzJUExJUUzJTgxJThDJUU3JTkwJTg2JUU4JUE3JUEzJUUzJTgxJTk5JUUzJTgxJUI5JUUzJTgxJThEU0VMRUNUJUU2JTk2JTg3JUUzJTgxJUFFJUU4JUFCJTk2JUU3JTkwJTg2JUU3JTlBJTg0JUUzJTgxJUFBJUU1JTg3JUE2JUU3JTkwJTg2JUU5JUEwJTg2JUU1JUJBJThGJUUzJTgxJUFFJUUzJTgxJThBJUU4JUE5JUIxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0zMjU5NDhlMGYzNTQwNDc5YjE1NGM4MjBhOWNmOWNhNg%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBrXzAxMjAmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTA2N2ZhYjRkNTMwNmVjYzc0NjRiZmI5MGIzZGIyZGRm%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44Ko44Kk44OB44O844Og44Op44Kk44OV44OH44K244Kk44Oz%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D99925055b40f6e8b35b05d96c023c250)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント71件
- 注目コメント
- 新着コメント
![turanukimaru turanukimaru](https://cdn.profile-image.st-hatena.com/users/turanukimaru/profile.png)
turanukimaru
SQL書くのは好きなのだが from -> join -> select の順に書けないのだけはめっちゃ不満。from XXX as x join ~ と書いてからカーソルを先頭に戻して select 書いてる…。日本語だったら X と Y を join して a,b,c...を取り出すと書けるのに!
![diveintounlimit diveintounlimit](https://cdn.profile-image.st-hatena.com/users/diveintounlimit/profile.png)
diveintounlimit
いやいやlimitかけといたら基本的に速くなるからかけられるならかけたほうがええやろ…実務やったことないんかいな。order by無しのlimitケースもそれなりにあるで…存在確認だけしたい時とか。
![n_231 n_231](https://cdn.profile-image.st-hatena.com/users/n_231/profile.png)
n_231
order by句がそもそも無ければlimitで処理時間削減されるだろ。SQL文法上こう書けない理由の説明としてはまぁ許容できるが、それ以外では記述者の理解度が疑わしい。SQLの性能チューニングにはもっと多くの知識が必要。
![sasasin_net sasasin_net](https://cdn.profile-image.st-hatena.com/users/sasasin_net/profile.png)
sasasin_net
当然知ってたけど、どこで知ったのか思い出せない。入門書籍ではない。期待と結果が違ったときに、何か調べたのかなぁ。SELECT文の要素を一通り撫でた後で、これを頭の隅に置く機会があるといいですね
![tatsuya_memo tatsuya_memo](https://cdn.profile-image.st-hatena.com/users/tatsuya_memo/profile.png)
tatsuya_memo
X句でYが使えないのは文解析の話、処理時間は実行計画の話。筆者は理解しているかもしれないが解析と実行計画、標準SQLと処理系依存の話を混同すれば批判が集まるのは当然。LIMITは標準SQLではないので追記もおかしい。
![ghostbass ghostbass](https://cdn.profile-image.st-hatena.com/users/ghostbass/profile.png)
ghostbass
まあ論理的な構造を考えることは大切 /結合条件で table_a(id,name) 1 ---n table_b(id,name,a_id) って定義から from table_a inner join table_b on table_b.a_id = table_a.id って書かれると頭ねじられる< 前世紀ならそう書かねばならなかったかも
![tyhe tyhe](https://cdn.profile-image.st-hatena.com/users/tyhe/profile.png)
tyhe
"この順でSQL書くように決まってれば、エディタの補完とかしやすかったのに" C# のクエリ式で見た https://docs.microsoft.com/ja-jp/dotnet/csharp/linq/query-expression-basics
![perl-o-pal perl-o-pal](https://cdn.profile-image.st-hatena.com/users/perl-o-pal/profile.png)
perl-o-pal
なぜか、この中ではHaving句で困ったことくらいしかないな…。limitは、Oracle中心に触っていたせいか処理系依存なんでしょくらいに考えていた。indexついてないカラムなら、full scanしてorder byしてからじゃ当然遅かろうって。
![diffie diffie](https://cdn.profile-image.st-hatena.com/users/diffie/profile.png)
diffie
ASが ORDER BY で使えて GROUP BY が使えないのは、SQL の構文がそうなっているからでしょ。と思って BNF 見たが、よくわからなかった。誰か教えて。https://ronsavage.github.io/SQL/sql-2003-2.bnf.html
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
いまの話題をアプリでチェック!
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
SQL記述者全員が理解すべきSELECT文の論理的な処理順序のお話 - Qiita
2020/9/30追記 本記事は元々、﹁SQL記述者全員が理解すべきSELECT文の実行順序のお話﹂というタイトルで...を表示
2020/9/30追記 本記事は元々、﹁SQL記述者全員が理解すべきSELECT文の実行順序のお話﹂というタイトルで投稿しておりました。 しかし、知見のある方からのコメントと自分でも調べてみた結果、今回紹介している順序はあくまで論理的な処理順序であり、実行順序とは別物ということがわかりました。 誤った知識を布教してしまい申し訳ございません。 2020/9/30のタイミングで、本記事のタイトルを﹁SQL記述者全員が理解すべきSELECT文の論理的な処理順序のお話﹂に変更させていただきました。 はじめに ﹁SQLといえば、エンジニアが扱うスキル﹂と思われがちですが、最近はマーケターや営業など、非エンジニアの方もSQLを使って、自らデータを抽出し分析する方が増えてきています。 またエンジニアの方でも、ORM任せでなんとなく理解している状態の方もいるのではないでしょうか? 今回は、そんな方々にこそ
2020/09/22 リンク