2021/01/11 17:25
roshi
カンマは先頭より後ろに持っていく派。入力忘れやコピペミスは機械が教えてくれるけど、見た目のインデントがずれるのはずっと付きまとうので。
2021/01/11 21:12
koba789
ボトルネックを見つけづらくなるので with は使わずサブクエリにしている。サブクエリが太ったら記事にもあるように中間テーブルにしてしまうのがいい
2021/01/11 21:33
taruhachi
なるほど。が半分と、気持ち悪さが残るのが半分って感じ。まぁ慣れかもしれないが割とどうでもいいもしくは議論の余地が残ってるのが混ざってる感じ。
2021/01/11 21:43
murishinai
いやー2021年にもなってこのあたりの統一が難しいところを見ると本当に罪深い言語だなSQL
2021/01/11 22:04
fukken
あー、今時シンタックスハイライトあるんだから、予約語は大文字とかいちいちやらなくていいだろ、ってのはその通りだなぁ。
2021/01/11 22:08
nmcli
弊社では、少なくとも更新系 SQL ではカンマを後ろにする派。 SQL はその構造上セミコロンがなくても実行できてしまうことが多く、文末を誤りやすい。カンマが後ろにあれば続きの条件があることを認識しやすい。
2021/01/11 22:16
kumapo0313
整形と予約語の大文字化はツールに任せてる。テーブル名、カラム名は使うフレームワークの規約に合わせてる。WITH句はMySQL8.0以上じゃないと使えないのが難点。
2021/01/11 22:57
kujiraneko28
良記事、BigQuery初めて1000行超えクエリ書くようになりスタイルガイド必要と感じた!
2021/01/12 01:30
convivial
ずっと小文字派だったのに、見えない圧力に屈して大文字に転向してしまったよ。
2021/01/12 04:59
MZQ
SQLはそれなりの長さになったりパフォーマンスを求めると、可読性良く綺麗に描くことは不可能なので、スタート地点は "拘らない事、他人に求めない事" からだと思う。読むときは手元で好きに整形したり分割して読む
2021/01/12 07:22
coziro
“。 ”
2021/01/12 07:54
demacs
概ね同意、というか「カンマを先頭に持ってくる」以外は同じ書き方をしてる気がする。カンマ先頭記法は、カラム追加・削除の際に確かに便利だけど、どうしても違和感を感じてしまうので使ってない。
2021/01/12 09:02
gakky_taihasoeru
カンマは後ろに持っていく派
2021/01/12 09:08
yatchi_00
きったないクエリ見慣れすぎて、一人で意識するのはよいけどみんなが守るのはほんと難しいと思ってる。
2021/01/12 09:10
kabochatori
スタイルはフォーマッターで機械的に揃えたいところだけどSQLのって意外と無いんだよなぁ…
2021/01/12 09:13
nunulk
前カンマ派だけど、どっちでも大差ないと思ってるのでチームの方針に合わせたい
2021/01/12 09:13
EastHop
with句は読みやすいかもしれないけど性能的に問題も多いので時と場合ですかね
2021/01/12 09:29
ghostbass
前カンマは使わない。エイリアスも point as p1, purchase as p2 とかやるぐらいなら使わない。短くなる以上の効果がない。識別子が30文字まで?そんなアホなDBは使わない。
2021/01/12 10:12
watarux
コーディング規約の中でなぜかSQLは放置されるしSQL Formatterはなぜかコレ!ってのがないんだよなあ。この長文に合わせてlintも整備してもらえれば何卒。個人的にはコメントの位置に言及してほしかった
2021/01/12 11:08
su_zu_ki_1010
筆者の言うこともわかるし、コメント欄の方の言うこともわかる。せめて、SQLのフォーマットだけはプロジェクトで統一したいところ。使うSQLエディタのフォーマット機能を使えば何も考えなくていいので楽。
2021/01/12 11:12
n314
カンマは派閥があって良いと思うけど、userをuに置き換えるのだけは許されなくない?pointをp2にすると分かりやすくなる?joinとwithもちょっと気になるな…。
2021/01/12 11:43
ya--mada
少なくとも、1人の人間では人格共通にして欲しい。先週と今日でスタイルが違うと、頃したくなる。
2021/01/12 11:54
shag
with区というか CTE は知らないと大分損するよな。
2021/01/12 12:14
odakaho
前カンマと left join基本は違和感あるけど、分析用途でカラム追加/削除が多い・データ漏れのリスクを無くしたい、ってことならまあアリか
2021/01/12 12:24
daira4000
こなれたフォーマッターが欲しい
2021/01/12 12:28
cbkf
SQLとのタイトルで例示がほぼselect文だけなのが少し足りないと感じたかな。細かいのだとdelete fromを1行に書くか、fromを次行の頭に持ってくるか(whereと頭を揃えるか)、みたいな話が出ることもあるので/なるほど「分析」か
2021/01/12 13:13
miau
最近 SQL は BigQuery でしか使ってないから、普通に行末にカンマ書いてる(BigQuery は FROM の直前にカンマがあってもエラーにならないので)
2021/01/12 13:15
Error401
Joe Celko派(www.sqlstyle.guide
2021/01/12 13:21
shashido
SQL用フォーマッター dev.classmethod.jp
2021/01/12 13:27
koyancya
ドーモ、Joe Celko 派です......
2021/01/12 13:38
masatomo-m
JetBrains IDE使ってると多言語のソース内でも文字列リテラル中だけSQL syntax highlightすることができるので、ソース内埋め込みのものはそれに任せてるな。Redashとかに突っ込む長大SQLやBigQueryのクエリはコメント欲しい
2021/01/12 13:58
Mofuyuki
テーブルの別名に番号つけるの抵抗あるなあ。重複したからといって番号ふるの負けた感じする。なんか別の工夫が欲しいところ。
2021/01/12 15:04
uunfo
「中央線に寄せて書く流派」ってなにそれこわい/左側は右揃え、右側は左揃えにするやつか。フォーマッタがやるならわかる
2021/01/12 15:10
kyopeco
"where 1=1"は言及されてないけど、たまに見る作法。書き換えるときに、どの条件式が先頭かを考えなくて良いので、合理性は一応ある。ローカルルール混じると統一やっぱり難しい。
2021/01/12 17:50
yuuAn
フォーマッターも欲しいけど、AltSQL がほしい
2021/01/12 19:53
uta_mory
SQLフォーマッターはcockroachdbの中の人が作ってるsqlfmtがいいかも Prettierみたいに有無を言わせないから争いが起きない www.cockroachlabs.com
2021/01/12 21:17
yamadar
予約語大文字、インデント揃える派だけど、チームで使うなら統一したルールがあれば何でも良い。その場合は個人の好みより優先する。
2021/01/12 22:26
masaharu-s
SQLのスタイルガイドについての記事。この記事のコメント欄に色々コメントが書かれていて、面白い。
2021/01/14 08:27
Tmr1984
データベースの話になると生き生きしだす人は高確率で氷河期世代の内部仕様=データベースのテーブルとクエリでありデータベースがシステムの王様だった頃の考えを引きずっている2世代前の時代遅れ、すなわち老害。
2021/01/14 16:45
civitaspo
,
2021/01/14 18:39
misshiki
Bad、Goodの比較図が見やすい。
2021/01/14 23:52
diveintounlimit
いつも適当なSQL文整形ツール探してやってもらってる。自分で整形するのはやりたくない。
2021/01/15 17:55
masadream
SQLの書き方は特に各人の信仰が反映されやすいと思う。個人的にはこの人の信仰心とかなり合致する