[大文字/小文字]SQLの正しい書式[改行/インデント]

このエントリーをはてなブックマークに追加
1NAME IS NULL
このスレでは一般的なSQLでの正しいコーディングの書式について語ります。

主な論点
・大文字と小文字はちゃんと区別して打つ?それとも全部小文字?
・大文字を打つときはSHIFT派?CAPS LOCK ON/OFF派?
・改行やインデントをするタイミングは?
・などなど

●ジョー・セルコの書き方
・予約語、標準関数は大文字
・フィールドは小文字
・テーブルは頭文字のみ大文字
例:
SELECT column1,MAX(column2) FROM Table1 GROUP BY column1;

●オンラインのSQLフォーマッタ
http://db2.jugem.cc/?eid=1254
2NAME IS NULL:2010/05/02(日) 16:12:08 ID:???
良スレの予感
31:2010/05/02(日) 18:53:43 ID:???
>>2
SELECT 'え!?';
4NAME IS NULL:2010/05/02(日) 19:12:33 ID:???
Oracle だとエラーか。
5NAME IS NULL:2010/05/03(月) 00:35:09 ID:9w20CsH7
大文字打つならシフトを押す方がややこしくなくていい
CAPS LOCKはオンなのかオフなのか分からなくなってイラつく
そんなにSQLコマンドなんぞそう長くもなかろう
6NAME IS NULL:2010/05/05(水) 01:36:20 ID:???
全部小文字で打てばいい話では?
7NAME IS NULL:2010/05/05(水) 04:01:10 ID:???
何をもって「正しい」とするの?
8NAME IS NULL:2010/05/05(水) 10:56:16 ID:???
誰にでも読みやすい、バグ取りしやすい、ってぇのが正しいんジャマイカ?
9NAME IS NULL:2010/05/05(水) 13:40:37 ID:???
一目で見て命令だなとか関数だなとかフィールド名だなとか分かる書式だろうな
それ考えたら全部小文字はありえない>>6
10NAME IS NULL:2010/05/05(水) 14:37:19 ID:???
予約語が必ず色分けされる環境でしか使えんな、全部小文字は
11NAME IS NULL:2010/05/05(水) 17:44:53 ID:???
でも居るよ、色分けされない環境で全部小文字で打つ奴
12NAME IS NULL:2010/05/05(水) 22:38:06 ID:???
環境がケース・センシティブかケース・インセンシティブかで対処の仕方も違いそうだな
13NAME IS NULL:2010/05/05(水) 22:58:04 ID:???
SQLに対してケース・センシティブな環境ってどんな環境よ
14NAME IS NULL:2010/05/06(木) 16:11:07 ID:???
Shiftは必ずアルファベットキーを押す手とは反対の手の小指を使う癖を付ければ
CAPS Lockをする必要はなくなる。
15NAME IS NULL:2010/05/07(金) 09:30:40 ID:???
>>14
俺は常に左側のShiftしか使わないが不便に感じたことはない
例えばQならば、左手の小指でShiftを押さえながら薬指でqを押す

ギター弾きでピアノ弾きの俺にはお茶の子さいさい
16NAME IS NULL:2010/05/08(土) 01:22:04 ID:???
ギターだのピアノだのと自慢したかっただけか
17NAME IS NULL:2010/05/08(土) 14:23:46 ID:???
>>14
その主張をする人こそCAPS Lockを活用すべきだと思っているよ。
18NAME IS NULL:2010/05/09(日) 00:12:23 ID:???
>>17
お前が何を言いたいのかさっぱり分からん
論理的に破綻している
1915:2010/05/10(月) 01:19:36 ID:???
今さっき、"!"を打つのに無意識に右のShiftを押している自分を発見した
えらそうなこと書いて正直スマンかった
20NAME IS NULL:2010/05/11(火) 18:15:26 ID:???
それには正直ビックリだ。
21NAME IS NULL:2010/05/12(水) 02:16:32 ID:???
>>1
テーブル名は小文字だろ、常考
22NAME IS NULL:2010/05/15(土) 22:40:56 ID:???
全部大文字じゃないのか?
23NAME IS NULL:2010/05/16(日) 01:21:49 ID:LQJdvEO0
とりあえず、フリーソフトの SQLConvertと SQL Mk-2
この2本のSQL整形機能は、いい線いってると思う。
24NAME IS NULL:2010/05/16(日) 11:11:38 ID:???
ワン・クッション入れる意味がわからん
自分で打った方が楽

つか、おまいら、タイピングが下手なん?
25NAME IS NULL:2010/05/16(日) 21:37:30 ID:???
間をとってテーブル名は日本語で
26NAME IS NULL:2010/05/23(日) 19:04:48 ID:???
>>22
6bit環境ですね。わかります。
27NAME IS NULL:2010/05/24(月) 11:09:58 ID:???
>>25
研修でそれやったら「見た目が気持ち悪い」と言われた。
28NAME IS NULL:2010/05/24(月) 12:28:46 ID:???
>>1
これ以外は何をやったって構わないよ、というのがルールの意味だから、
「正しい書式」などある訳ないと思うのだが。
29NAME IS NULL:2010/05/24(月) 20:20:33 ID:???
>>28
じゃ、お前は
SeLeCt CoLuMn1,MaX(CoLuMn2) FrOm TaBlE1 GrOuP By CoLuMn1;
と書いテロや
30NAME IS NULL:2010/05/25(火) 01:08:52 ID:???
>>29
甘いな

      SeLeCt
 CoLuMn1  ,
             MaX(CoLuMn2)
FrOm      TaBlE1
    GrOuP
 By
           CoLuMn1           ;

このくらいしないと
31NAME IS NULL:2010/05/25(火) 12:26:09 ID:???
やめれw
32NAME IS NULL:2010/05/25(火) 23:30:46 ID:???
笑わせるなよw
33NAME IS NULL:2010/05/27(木) 14:25:08 ID:???
ずれてるかもしれんが。

SELECT column1,
       MAX(column2)
  FROM table1
 GROUP BY column1
34NAME IS NULL:2010/05/27(木) 14:27:36 ID:???
やっぱずれてた。
MAXのMはcolumnのcの下。
SELECTとFROMとGROUPは左揃え。JOINも左揃え。
ONの前で改行。JOINと左揃え。
AND、ORの前で改行。WHEREやJOINと左揃え。
カラムは一行に一個。
カンマは行末。
35NAME IS NULL:2010/05/27(木) 14:28:27 ID:???
あ、左揃えは全部右揃えの間違い。
36NAME IS NULL:2010/06/18(金) 00:20:18 ID:???
>>33-35
間違いばっかり書きやがって・・・
最初から全部書き直せ!( ゚д゚)、ペッ



…と言いたいところだが、概ね、

 SELECT column1,
       MAX(column2)
  FROM table1
 GROUP BY column1;

…ということか?
37NAME IS NULL:2010/08/20(金) 00:04:20 ID:???
select
<tab>column1,
<tab>max(column2)
from
<tab>table1
group by
<tab>column1
;
38NAME IS NULL:2010/11/02(火) 08:03:31 ID:???
>>37
,の位置以外はおれと一緒だ

SELECT
  column1
  , MAX(column2)
FROM
  table1
GROUP BY
  column1;
39NAME IS NULL:2010/11/07(日) 05:23:22 ID:??? BE:468019924-2BP(500)
test
40名無しさん:2011/11/24(木) 22:07:58.68 ID:???
select
<tab>column1
,<tab>max(column2)
from table1
group by
<tab>column1

俺は、カンマ行頭派。
41NAME IS NULL:2011/11/27(日) 15:23:49.88 ID:???
カンマ行頭は俺もやるけど予約語は大文字だな
42NAME IS NULL:2011/12/14(水) 21:23:18.93 ID:???
カンマ行頭は、副問い合わせ内とかの別の段にコピペするとき不便じゃね?
43NAME IS NULL:2011/12/14(水) 22:49:28.14 ID:???
服問い合わせでもカンマ行頭で良いのでは?
44NAME IS NULL:2011/12/21(水) 15:10:31.08 ID:???
カンマ行頭って、
select
a
, b
from (
<tab>select
<tab><tab>unko as a
,<tab><tab>manko as b
<tab>from
<tab>chinko
)
ってこと?
45NAME IS NULL:2011/12/21(水) 23:36:16.24 ID:???
そう。

自分ならa,bのところも、
<space>a
,b
と、エディターの矩形範囲選択がしやすい形でソースに記述している。
46NAME IS NULL:2011/12/26(月) 19:53:13.78 ID:???
SELECT
 column1,
 MAX(column2)
FROM table1
GROUP BY column1

こんなんだわ。複数個必要になったら改行、インデント、そうじゃなきゃ横に書いて済ませる

>>13
超亀だけど、カラム名のケースが混在してるPostgreSQLは少なくともそう。
SELECT "Column1" FROM 〜
47NAME IS NULL:2012/08/02(木) 23:57:01.73 ID:???
INNER JOIN が絡んだ場合を書かないと
48NAME IS NULL:2012/08/27(月) 16:19:27.71 ID:???
そうね。書かないと。
49名無し:2014/06/19(木) 09:38:45.81 ID:???
ひきこもり30代後半で童貞で低収入イラストレーターやってるバカ発見。
足立区に住んでいるそうだ
http://inumenken.blog.jp/archives/6580395.html
50NAME IS NULL
◎2ch勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推薦)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推薦)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢
・ READ2CH
・ i-ikioi

※ 要タイトル名検索