- PR -

SQLの書き方アンケート

投票結果総投票数:78
全部小文字(select) 13 16.67%
頭だけ大文字(Select) 4 5.13%
全部大文字(SELECT) 54 69.23%
特にこだわらない 7 8.97%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
MIZUKID
会議室デビュー日: 2007/05/11
投稿数: 6
お住まい・勤務地: VBとSQLの袋小路
投稿日時: 2007-05-11 15:45
はじめましてMIZUKIDです。
SQLを習い始めたばかりのぺーぺーですが、よろしくお願いします。

アンケート内容はSQLを書く時、どのように書くか、です。
尚、アンケート()内のは例です。

参考書なんかには全て大文字で書かれているものが多いようですが、
SQLは小文字でも大文字でも同じように動作しますよね?

皆さんは
「自分はこう書く」
というこだわり(マイルール)のようなものはお持ちでしょうか?
環境に寄っては統一されているのかも知れませんが、もし理由などありましたらコメントしていていただければ幸いです。
そしてもし宜しければ普段使っているデータベース(以下DB)の種類、プログラム言語なども書いていただければと思っています。


自分はC#と同時進行で勉強中で、プログラム内でのDB呼び出しなども一通りはやりました。
C#プログラム内に書く場合、全て大文字で書いたほうがSQLコマンドを見分けやすかったのでそう書くことが多いです。
まだ「こういう書き方じゃないと具合悪い」っていうほど使っていないので、そこまでの拘りはありません。


SQLserverしか触ったことがないので恐縮ですが、DBの違いに因るSQLの相違は
関数やストアド等が違うだけで構文そのものは同じだと勉強を見てくれている先輩から聞きましたので、それを前提にしています。
もし何か勘違い・間違いなどありましたらそれについてもコメントしていただけると勉強になります。

長くなりましたが、よろしくお願いします。
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2007-05-11 15:47
今日は。

どれでも良いんじゃないでしょうか? 

プロジェクトによってはルールが決まってたりますが、
それが無いのであれば会社の先輩のスタイルであったり
自分のスタイルで良いと思います。 

_________________
Inspired Ambitious
ISMS Assistant Auditor
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2007-05-11 16:28
テスト目的など手早く書きたいときは全部小文字、ちゃんと書くときはキーワードのみ大文字、列名等ユーザによって定義されたものは小文字で書く習慣にしています。

と言っても、プロジェクトによってルールがあったりするとそれに従うことになるんでしょうけど。

よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2007-05-11 16:31
引用:

MIZUKIDさんの書き込み (2007-05-11 15:45) より:
参考書なんかには全て大文字で書かれているものが多いようですが、
SQLは小文字でも大文字でも同じように動作しますよね?

皆さんは
「自分はこう書く」
というこだわり(マイルール)のようなものはお持ちでしょうか?



プロジェクト内で統一されていればとりあえず何でもいいです。
#同じ内容のSQLでも大文字小文字が違うだけで異なるSQLとみなされ、
#DBMSによってはキャッシュの機能が有効に働かないよとかパフォーマンス上の理由は
#挙げられますが、そんなことよりは可読性の理由からですね。

可読性という意味では、大文字小文字だけでなくスペースの使い方とか
複数行で書く場合のキーワードの配置の仕方も統一感が欲しいところですね。
まさる
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 59
お住まい・勤務地: 越後の中ほど
投稿日時: 2007-05-11 16:48
プロジェクトによって指定されないなら、
・全部大文字
・1行に1項目
・「,」、AND、ORは行末でなく行頭につける
くらいを気にして書くようにしてます。

コード:
SELECT
 HOGE
,FOO
,BAR
FROM
 HOGE_TABLE
WHERE
    HOGE = 1
AND (
        FOO = 'aaa'
    OR  BAR = 'bbb'
    )


こんな感じ。

1行1項目なのは見やすい&編集しやすいから。
「,」、AND、ORを先頭に持ってくるのは、行末に持ってくると、
コード:
SELECT
 HOGE,
 FOO
FROM
 HOGE_TABLE
WHERE
 HOGE = 1


に項目「BAR」と条件「FOO='aaa'」を追加するとき
コード:
SELECT
 HOGE,
 FOO,   -- 変更必要
 BAR    -- 追加項目
FROM
 HOGE_TABLE
WHERE
 HOGE = 1 AND  -- 変更必要
 FOO = 'aaa'   -- 追加条件


のように追加行以外に変更が必要になるからです。

#まあ、瑣末な問題なんですが。
harasawa
会議室デビュー日: 2007/05/11
投稿数: 1
投稿日時: 2007-05-11 21:11
最終的に大文字にしました。
大型コンピュータのコード体系はパンチカードのホレリスコードがベースで内部ではEBCDICコードを使用しています、このコードには当然大文字小文字がありますが、日本では小文字の部分に半角カナを利用しているので、大文字が基本です。
一方パソコンは紙テープのISOコードがベースです、内部ではASCIIコードに日本語を付加したシフトJISコードを使用しており、どちらも使えますがキーボードが通常の状態では小文字で入力されるので一般的には小文字が基本のようです。
という事で会社で開発した、開発支援ツールはSQLを含むプログラムは小文字でデータは大文字を基本とするツールでした、このツールは単純や簡単をうたい文句にしているので、5年前に再設計した時点で統一する事を考えました、結果、データは大型コンピュータがらみで小文字に出来ないので、結局大文字に統一する事としました。
大文字がすべてにハッピーとは行かない場合もありますので、一応説明しておきます、それはPostgreSQLです、SQLを全て大文字表記で使うことは何も問題がありませんが、最終的にはテーブル名も列名も小文字で登録されますので、思わぬ問題を起こす危険があります、今回開発したツールはPostgreSQLは見かけ上大文字で在るかのごとく動くように対応しました、ちなみに、RDBMS内部ではORACLEやDB2は大文字が主流で、SQL Serverは小文字が主流です。
以上


[ メッセージ編集済み 編集者: harasawa 編集日時 2007-05-11 21:18 ]
まいるどきゃっと
大ベテラン
会議室デビュー日: 2004/08/12
投稿数: 135
お住まい・勤務地: 群馬
投稿日時: 2007-05-12 07:37
コーディングルールが決まっていれば当然それに従います。
ない場合は、キーワードは大文字、表名や列名などは小文字で書いてます。

まさるさんの例を借りると、

コード:
SELECT
     hoge
    ,foo
    ,bar
FROM
    hoge_table
WHERE
    hoge = 1
AND (
        foo = 'aaa'
    OR  bar = 'bbb'
    )



こんな感じです。

また、テーブル仕様書で列名が大文字で書かれている場合は、逆にキーワードが小文字で表名や列名は大文字と逆にしたりしています。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2007-05-12 09:38
大文字は古臭い感じがしますね。
SQL は昔は大文字でしたが、私は今は小文字で書いています。
HTML なんかもそんな感じです。
XML の影響が強いのかもしれません。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}

スキルアップ/キャリアアップ(JOB@IT)