X



[大文字/小文字]SQLの正しい書式[改行/インデント]
0001NAME IS NULL垢版2010/05/02(日) 09:46:18ID:???
このスレでは一般的なSQLでの正しいコーディングの書式について語ります。

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

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

●オンラインのSQLフォーマッタ
http://db2.jugem.cc/?eid=1254
001915垢版2010/05/10(月) 01:19:36ID:???
今さっき、"!"を打つのに無意識に右のShiftを押している自分を発見した
えらそうなこと書いて正直スマンかった
0020NAME IS NULL垢版2010/05/11(火) 18:15:26ID:???
それには正直ビックリだ。
0022NAME IS NULL垢版2010/05/15(土) 22:40:56ID:???
全部大文字じゃないのか?
0023NAME IS NULL垢版2010/05/16(日) 01:21:49ID:LQJdvEO0
とりあえず、フリーソフトの SQLConvertと SQL Mk-2
この2本のSQL整形機能は、いい線いってると思う。
0024NAME IS NULL垢版2010/05/16(日) 11:11:38ID:???
ワン・クッション入れる意味がわからん
自分で打った方が楽

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

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

このくらいしないと
0033NAME IS NULL垢版2010/05/27(木) 14:25:08ID:???
ずれてるかもしれんが。

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



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

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

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

SELECT
  column1
  , MAX(column2)
FROM
  table1
GROUP BY
  column1;
0040名無しさん垢版2011/11/24(木) 22:07:58.68ID:???
select
<tab>column1
,<tab>max(column2)
from table1
group by
<tab>column1

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

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

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

>>13
超亀だけど、カラム名のケースが混在してるPostgreSQLは少なくともそう。
SELECT "Column1" FROM 〜
0047NAME IS NULL垢版2012/08/02(木) 23:57:01.73ID:???
INNER JOIN が絡んだ場合を書かないと
0050NAME IS NULL垢版2014/07/12(土) 22:43:16.71ID:taGMyUPm
◎2ch勢いランキングサイトリスト◎

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

※ 要タイトル名検索
0051NAME IS NULL垢版2015/03/12(木) 08:57:18.96ID:???
インデントはスペース2文字派です
0053NAME IS NULL垢版2015/06/29(月) 15:43:04.39ID:???
C言語みたいに、行の羅列の最後にカンマがあっても可
にしといてくれりゃ、行頭カンマにしなくても済むのにな
0056NAME IS NULL垢版2015/12/11(金) 23:35:28.78ID:B7jWxD/A
キーワード
0057NAME IS NULL垢版2015/12/11(金) 23:40:22.75ID:B7jWxD/A
キーワード、予約語は大文字、それ以外は小文字が一番多い。

昔のOracleのマニュアルがそうだった。

先頭カンマは誰が始めたのか知らないが、たいしたメリットがない。
0058NAME IS NULL垢版2015/12/13(日) 10:23:28.75ID:???
先頭カンマは行の追加削除が楽だからだろ
0059NAME IS NULL垢版2015/12/13(日) 17:31:12.99ID:po7FUJXx
>>58
だからダメなんだよ。

本末転倒。
0060NAME IS NULL垢版2015/12/13(日) 17:35:47.80ID:po7FUJXx
カンマの意味が分からないんだろ。
0061NAME IS NULL垢版2017/12/29(金) 12:12:24.75ID:dtNZwIie
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

NBGM0FESJM
0062NAME IS NULL垢版2018/11/28(水) 19:09:30.82ID:???
    / ZELECT A ZAX(B) AS B
   / ZROM Table
  / ZHERE A Is Null
 / ZROUP BY A
/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0063NAME IS NULL垢版2018/11/28(水) 21:54:58.99ID:???
O W F S
R H R E
D E O L
E R M E
R E   C
    T T
B A a
Y g  b *
  e  l
I    e
d V

  1
  7
0064NAME IS NULL垢版2018/12/14(金) 22:38:41.23ID:???
    str = "Select * "
str = str & "From Table "
str = str & "Where a > 0"

って、よく見るけど、

str = "Select * " & _
   "From Table " & _
   "Where a > 0"

普通にこうじゃダメなんかい!
0065NAME IS NULL垢版2018/12/15(土) 15:52:05.20ID:???
行末の「_」はマイナーだからね。しかたないね。
0066NAME IS NULL垢版2018/12/16(日) 12:32:10.31ID:???
SEL
ECT
* FR
OM T
ABL
EA, T
ABL
EB W
HER
E TA
BLE
A.ID
=TA
BLE
B.ID
0067NAME IS NULL垢版2019/02/16(土) 21:54:03.17ID:hwj6uxWl
>>64
VBの構文が失敗作だからな。

たしかに俺はあなたが書いているように書くけど、変数に追記していくのはコメントアウトを想定しているのだろう。

ただスマートだとは思わない。
0068NAME IS NULL垢版2019/02/16(土) 23:29:24.60ID:???
で、改行大杉で怒られるっていう。
0069NAME IS NULL垢版2023/08/18(金) 04:59:49.56ID:???
星のカービィに出てくるピンク色のやつって誰だっけ?
レスを投稿する


ニューススポーツなんでも実況