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

ギター弾きでピアノ弾きの俺にはお茶の子さいさい
0016NAME IS NULL
垢版 |
2010/05/08(土) 01:22:04ID:???
ギターだのピアノだのと自慢したかっただけか
0017NAME IS NULL
垢版 |
2010/05/08(土) 14:23:46ID:???
>>14
その主張をする人こそCAPS Lockを活用すべきだと思っているよ。
0018NAME IS NULL
垢版 |
2010/05/09(日) 00:12:23ID:???
>>17
お前が何を言いたいのかさっぱり分からん
論理的に破綻している
001915
垢版 |
2010/05/10(月) 01:19:36ID:???
今さっき、"!"を打つのに無意識に右のShiftを押している自分を発見した
えらそうなこと書いて正直スマンかった
0020NAME IS NULL
垢版 |
2010/05/11(火) 18:15:26ID:???
それには正直ビックリだ。
0021NAME IS NULL
垢版 |
2010/05/12(水) 02:16:32ID:???
>>1
テーブル名は小文字だろ、常考
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 が絡んだ場合を書かないと
0048NAME IS NULL
垢版 |
2012/08/27(月) 16:19:27.71ID:???
そうね。書かないと。
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言語みたいに、行の羅列の最後にカンマがあっても可
にしといてくれりゃ、行頭カンマにしなくても済むのにな
0054NAME IS NULL
垢版 |
2015/07/01(水) 12:55:03.63ID:???
>>53
最後にNULLでも書いとけばいいよ。
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:???
星のカービィに出てくるピンク色のやつって誰だっけ?
レスを投稿する