X



トップページDB@2ch掲示板
1002コメント294KB
SQL初心者質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2016/05/12(木) 05:29:07.61ID:HmbS4CfD
SQL初心者用の質問スレッドです。
0312NAME IS NULL
垢版 |
2017/02/25(土) 00:22:52.30ID:???
テストもせずにいきなり入れ替えたのかよ
そんなことができる現場、逆にすごい楽しそうだな
0313NAME IS NULL
垢版 |
2017/02/25(土) 20:49:52.03ID:???
SQL言語ってオラクルとかMysqlとか、MSで違うんですか?
0314NAME IS NULL
垢版 |
2017/02/25(土) 20:58:21.27ID:???
基本は同じ
それぞれ拡張している部分がある
0315NAME IS NULL
垢版 |
2017/02/25(土) 21:38:20.64ID:???
要するに、違う。
0316NAME IS NULL
垢版 |
2017/02/25(土) 22:09:37.73ID:???
SQLとMySQLって違うの?
でSQLがあってのOracle?
0317NAME IS NULL
垢版 |
2017/02/25(土) 22:27:30.71ID:???
ここでそんな質問する前に本の1冊でも読めよ
0318NAME IS NULL
垢版 |
2017/02/25(土) 23:02:52.27ID:???
>>316
単語それぞれでググってみればわかる
MySQLとOracleはデータベースソフトウェア製品の名前
SQLはそれらで共通に使われている(ただし方言あり)言語の名前
0319NAME IS NULL
垢版 |
2017/02/25(土) 23:11:02.85ID:???
そんくらいわかってるわ
0320NAME IS NULL
垢版 |
2017/02/25(土) 23:40:52.73ID:???
誰が質問者か分からなくなってきた

質問者はsageをせずに書き込むと良いですよ
そうすれば、ID表示でますから
0321NAME IS NULL
垢版 |
2017/02/26(日) 14:45:56.38ID:LVGuIyS4
SQL ServerとMySQLを単にSQLと略す馬鹿がいるので混乱する。
0323NAME IS NULL
垢版 |
2017/02/26(日) 16:08:09.91ID:???
初めてダウンロード
PostegerSQLとMySQLどちらがいいだろうか?
0324NAME IS NULL
垢版 |
2017/02/26(日) 16:09:23.95ID:???
両方入れとけ
管理方法が違うのでコンソールまたはツールで馴染んだほう残せばいい
0325NAME IS NULL
垢版 |
2017/02/26(日) 16:21:31.02ID:???
ツール使うなら、両者ともそれほど違いはなかったと思う
コンソールだと、違いがあるから慣れるまで時間掛かりそう
0326NAME IS NULL
垢版 |
2017/02/26(日) 16:30:27.98ID:???
>>324
おけ
両方入れる

>>325
んーよくわからず、まだ先のことだろうから後で考えるわ
0328NAME IS NULL
垢版 |
2017/02/28(火) 12:15:15.76ID:???
SQLを触ったことないんですが、クエリ文を覚えるためにはどうすればいいでしょうか?
C#という言語でLINQというものは触ったことあるのでまったくわからないとは思わないのですが・・・
0329NAME IS NULL
垢版 |
2017/02/28(火) 13:53:34.15ID:???
>>328
普通の人は、本買って読むんだけど・・・
0330NAME IS NULL
垢版 |
2017/02/28(火) 14:01:20.31ID:???
とりあえず環境を用意する
0331NAME IS NULL
垢版 |
2017/02/28(火) 18:25:09.54ID:???
SQL試す環境つくればいいよ、上にあるMySQLやPostgreSQLをローカルに入れて
PgAdmin3とかMySQL Workbenchとか動かしてみては
SQLite3でも試せるけどね
0332NAME IS NULL
垢版 |
2017/02/28(火) 19:39:01.87ID:jzPtOTcH
>>328
SQLとクエリと言ってる時点でおかしい。たぶんSQL Serverが前提なんだろうな。
0333NAME IS NULL
垢版 |
2017/02/28(火) 20:04:26.66ID:yUIIsXa+
sql serverが前提だとなんか困るのかな
0334NAME IS NULL
垢版 |
2017/02/28(火) 21:21:44.81ID:???
職場でAccessって使う人少ないですか?
0335NAME IS NULL
垢版 |
2017/02/28(火) 21:58:28.42ID:???
>>334
質問の意図がわからない
それをここで俺らに聞いて何をしようというのだ?
0336NAME IS NULL
垢版 |
2017/02/28(火) 22:07:13.89ID:???
>>334
えっ!?!?
いやいや普通もれなく全員清掃係りの人も警備の人も使うでしょ
おたく使ってないの???
0337NAME IS NULL
垢版 |
2017/02/28(火) 23:17:08.33ID:???
使ったt事あるよ。で、それがどうした。
0338NAME IS NULL
垢版 |
2017/03/01(水) 02:02:24.28ID:???
accessは帳票必要なシステムでは楽チンだけど
帳票なかったらphpのほうが楽チンだな
0339NAME IS NULL
垢版 |
2017/03/01(水) 07:11:22.21ID:???
>>328
業務で使うsqlのパターン は限られてるから
初心者向けの本を買えばいいと思うよ
0340NAME IS NULL
垢版 |
2017/03/01(水) 12:20:17.22ID:???
業務で使わないsqlは多種多様なのか?違いが分からん
0342NAME IS NULL
垢版 |
2017/03/01(水) 15:57:14.00ID:???
DB自体の操作やユーザー管理も含めて言っているのじゃないかな?
0343NAME IS NULL
垢版 |
2017/03/01(水) 18:47:02.65ID:???
業務で使う時は特殊な記述を避けるというだけの話かと
0344NAME IS NULL
垢版 |
2017/03/01(水) 20:05:39.23ID:???
sqlに特殊な記述なんてあったか?
0345NAME IS NULL
垢版 |
2017/03/02(木) 03:01:35.02ID:???
顧客id 顧客名
取引id 顧客id 取引額 取引日

こんな2つの顧客テーブルと取引テーブルがあるとします。
取引テーブルの取引日と顧客idはUNIQUEな関係です(同じ日の再度の取引はない)。
ある顧客との、ある期間中どれだけ取引があったか(回数と総額)の計算をしたいです。

顧客テーブル
  顧客id INT PK
  顧客名 VARCHAR NN

取引テーブル
  取引id INT PK
  顧客id INT FK
  取引額 INT NN
  取引日 DATE NN
  UNIQUE (顧客id, 取引日)

インデックスを貼るべきところとかよくわからないのですが、テーブルはこんな感じでいいのでしょうか?
検索(WHERE)に取引日を使うので、取引日にもインデックス貼ったほうがいいのでしょうか?
あと取引日のDATE型なんですが、UNIXTIMEのようにある日からの起算のほうが検索早そうなのでINTにしたほうがいいですか?
0346NAME IS NULL
垢版 |
2017/03/02(木) 06:14:34.18ID:???
>取引日にもインデックス貼ったほうがいいのでしょうか?

それで検索をよくするんだったら良いんじゃないの。自分は株価テーブル作っててPKが(コード、出来高年月日)なんだけど、
出来高年月日での検索もするんでその出来高年月日にindex貼ったら実行スピードめちゃ上がったし
0347NAME IS NULL
垢版 |
2017/03/02(木) 14:18:17.25ID:???
>>345
DATE型使っても、内部表現はバイナリー値だから実行スピードは変わらないだろう
0348345
垢版 |
2017/03/03(金) 05:48:15.55ID:???
>>346-347
レスありがとうございます。
実例での効果まであげていただいて感謝です。
DATA型でも検索速度は変わらないとのことなので、
このままでCREATEしたいと思います。
0351NAME IS NULL
垢版 |
2017/03/03(金) 17:39:50.51ID:???
(DATA型は)このままでってことだろう
0352NAME IS NULL
垢版 |
2017/03/04(土) 06:08:32.02ID:GZ+afmPr
RDBMSの内部構造を意識するのが初心者なのかと。
0353NAME IS NULL
垢版 |
2017/03/04(土) 07:48:26.00ID:???
まあプログラムやってればその辺はちょっとは検討つくでしょう
JavaScriptみたいのしかやったことないとかだとDBいじる機会もなかなかないだろうし
ところでDATE型とINT型の検索速度の比較って
ググって見るとINT型のほうが早いみたいだけど
0354NAME IS NULL
垢版 |
2017/03/04(土) 08:31:07.04ID:???
郵便番号と地名が書いてるデータベースを作るとして
0から始まる北海道はとりあえず無視するとして
7桁のユニークな数字になるわけですが
そういう番号があっても主キーにせずオートインクリメントなサロゲートキーを作るべきですか?
0355NAME IS NULL
垢版 |
2017/03/04(土) 08:46:24.32ID:???
郵便番号は郵便局が自分たちの業務をやりやすくするために振っただけのものであって
地名との一対一の紐付けを保証するものではないし
郵便局の都合で変更されることもある
そのへんを理解した上で使うなら別にいいんじゃない?
0356NAME IS NULL
垢版 |
2017/03/04(土) 09:03:59.24ID:???
「郵便番号の」サロゲートだとしたらそのへんは何も変わらんが。
0357NAME IS NULL
垢版 |
2017/03/04(土) 09:23:42.43ID:???
>>353
> ところでDATE型とINT型の検索速度の比較って
> ググって見るとINT型のほうが早いみたいだけど

そらそうよ。プログラムやってれば見当つくはず。

>>354
困ったことに、郵便番号と地名は1:nです
0358NAME IS NULL
垢版 |
2017/03/04(土) 09:32:54.15ID:???
データベースは当然、1:n関係を表現できるだろうに。何を困ることがある?
0360NAME IS NULL
垢版 |
2017/03/04(土) 10:37:00.43ID:???
郵便番号はちょっと例えが悪かったかな・・・
例えばクレジットカードとか連番だと都合が悪いけど一意な番号
それでもサロゲートは必要?
0361NAME IS NULL
垢版 |
2017/03/04(土) 10:49:39.48ID:???
そういう質問している人には必要ない。
0362NAME IS NULL
垢版 |
2017/03/04(土) 11:01:27.93ID:???
だってとりあえずauto incrementを主キーにしとけって書籍に書いてるんだもの
0364NAME IS NULL
垢版 |
2017/03/04(土) 11:36:56.78ID:???
初心者にはあれこれいうよりベストな書き方覚えろっていう
ベストでもないオレオレ書き方教える書籍は多い
全部のテーブルにcreated updated作れみたいな
0365NAME IS NULL
垢版 |
2017/03/04(土) 15:42:19.31ID:???
SQLはなんで大文字が好きなの?
0366NAME IS NULL
垢版 |
2017/03/04(土) 23:32:19.88ID:b+Y4fejK
>>353
そもそもどのRDBMSのINT型なのか知らないが、標準SQLではコンピュータの数値表現としているので、速いのはあたりまえ。

ちなみにOracleでは標準SQLのINT型はNUMBER型なのでまったく違う。当然Oracleでは計算が遅くはなる。
0367NAME IS NULL
垢版 |
2017/03/04(土) 23:33:46.81ID:b+Y4fejK
>>365
プログラミング言語の歴史では、小文字をメインに使うようになったのはC言語あたりから。
0368NAME IS NULL
垢版 |
2017/03/04(土) 23:57:32.49ID:???
Oracleの場合、内部で大文字に変えていると聞いたことがある
本当かどうかは確かめたことないし、今もそうなのかは分からないが
使っていた当時は全部大文字で書いてたな
0369NAME IS NULL
垢版 |
2017/03/05(日) 04:43:17.86ID:???
DB側で用意してる関数含めてユーザ入力による変数になってる
テーブル名とかカラム名以外は全部大文字にしてる
`table` `long_table_name` `column` `long_column_name`
ご丁寧に``で囲んでるけどこれもいらんのよなあ
なんかいい規則があればいいんだけど
0370NAME IS NULL
垢版 |
2017/03/05(日) 11:05:14.00ID:???
基本的に大文字しか使えない環境が当たり前の頃からSQLあるからな、、、
COBOLでの EXEC SQL 文とか懐かしいなあ
0371NAME IS NULL
垢版 |
2017/03/05(日) 15:50:25.27ID:ZV3ds4gJ
>>368
それを言うのがいるけど、プログラマでそんなことを言ったら恥ずかしいぞ。大文字、小文字を区別しないなら大文字、小文字の判定処理が入るわけで、そこから大文字に変換する処理が遅くて問題になるなど阿呆みたいなこだわりだ。
0372NAME IS NULL
垢版 |
2017/03/06(月) 00:07:50.62ID:???
大文字に変換する処理が遅くて問題になるなんて誰か言ってた?
0373NAME IS NULL
垢版 |
2017/03/06(月) 01:05:03.96ID:VHVbqVdu
>>368 が書いてるが?
0374NAME IS NULL
垢版 |
2017/03/06(月) 01:09:49.78ID:VHVbqVdu
大文字が大文字かどうかより、文字がなんなのかの判定も入るわけで、そんな処理時間はいつの時代のコンピュータの性能で考えているんだよw

こんなことを言い出したらRDBはあらゆることが遅すぎて使えない。現実にRDBはコンピュータの性能が上がったから使い物になるようになった歴史も知らないのか?
0376NAME IS NULL
垢版 |
2017/03/06(月) 02:48:06.58ID:???
368本人です。何かお騒がせしてしまい済みません。
相当昔の話です。
動かしていたサーバーはW2k、CPUはP3、メモリー4G程度でした。
できるだけ負荷を減らせと言う指示の中で作業してました。
0377NAME IS NULL
垢版 |
2017/03/06(月) 05:47:11.51ID:???
パーサーの仕様で大文字小文字区別しないにしても
大文字しかパースできなくて変換処理が必要だとしても
それに判定を挟む必要もなければ
ただの一文にすぎないSQLに処理時間なんてギャグかよって話
0378NAME IS NULL
垢版 |
2017/03/06(月) 07:05:39.51ID:???
>>377
お前の小さい脳みそこそギャグかよww
0380NAME IS NULL
垢版 |
2017/03/06(月) 07:28:15.30ID:???
>>378
構文解析にかける時間に比べれば
文字列の処理なんて微々たるものがわからないような猿
0381NAME IS NULL
垢版 |
2017/03/06(月) 12:11:06.08ID:0KbRjlYP
>>377
判定処理はいるだろw
文字がAならAかどうか判定する。

何この低レベルw
0382NAME IS NULL
垢版 |
2017/03/06(月) 12:23:32.62ID:???
小文字混ざってる前提で全て大文字にしてからパースすればいいだけってのは
プログラマーならわかるだろ
0383NAME IS NULL
垢版 |
2017/03/06(月) 12:41:33.78ID:???
>>381
全部大文字にすればよいでしよw
0384NAME IS NULL
垢版 |
2017/03/06(月) 15:24:30.48ID:bDLzF0aS
結局予約語だけ大文字で書けばいいの?
開発効率落ちまくるけどどの参考書もそうしてるよな
0385NAME IS NULL
垢版 |
2017/03/06(月) 15:32:38.74ID:???
コーディング規約ってのがそれぞれのチームなり部署なりにあるだろ?
それに従えば良いだろ。
んで自分一人のものだけなら好き勝手に
0386NAME IS NULL
垢版 |
2017/03/06(月) 15:59:13.62ID:???
そうなんだけどさ、大文字と小文字使い分けるのってすごい面倒なんだよなぁ
玄人の皆さんは使い分けなきゃいけない状況のときどうやって書いてるの?
毎回shift+capslockしてるの?てか列名日本語にするのほんとやめてください
0387NAME IS NULL
垢版 |
2017/03/06(月) 16:09:32.32ID:???
使い捨ては全部小文字
あとで見返すことがあるものは予約後大文字、シフトに指置けばいいべ
0388NAME IS NULL
垢版 |
2017/03/06(月) 16:13:07.82ID:???
>>384
効率落ちまくるって、どんだけクエリ書いてるんだよ
300char/minだとして、大文字小文字意識しても5秒ほどしかかわらんだろ
つまり、1分の差がでるのに3600文字必要
毎日1万字書く奴がいたとしても、せいぜい3分/dayくらいの差だ
0389NAME IS NULL
垢版 |
2017/03/06(月) 19:02:01.27ID:aPuKjXeW
>>388
お前はキーパンチャーかwどんだけキーボードマスターだよw
0390NAME IS NULL
垢版 |
2017/03/06(月) 19:18:44.61ID:???
全部小文字でもいいだろ好きにしろ
ぱっと見てここSQLだなってわかるようにしたいなら大文字にすりゃいいし
動きゃいいんだよ
0391NAME IS NULL
垢版 |
2017/03/07(火) 02:45:55.03ID:???
>>381
大文字にするにあたって元の文字が大文字か小文字か判定する必要はないって話だと思うんだが、
あなたが言うように判定するのは無駄なので判定しないのが普通。
0392NAME IS NULL
垢版 |
2017/03/07(火) 10:30:00.17ID:???
>>388
キーパンチャーなみのタイプ速度で、普通は考えられないような量のクエリを1日にタイプするとしても、
それでも1日あたりの作業低下量は3分程度なんだが、>>384はどんだけタイプしてんだよって話だ

読解力ない奴って、底が知れんわ
0393NAME IS NULL
垢版 |
2017/03/07(火) 12:02:08.35ID:???
そもそもSQL誕生して何十年も経ってるのにいまだにこの議論してんだから
大文字小文字の問題は根深いよな

>>392
タイピング速度の問題ではなくてストレス的な意味の開発効率を言ってると思うぞ>>384
0394NAME IS NULL
垢版 |
2017/03/07(火) 13:44:27.84ID:???
>>393
この程度のコーディングルールでストレスとか、向いてないんじゃねーの?
0395NAME IS NULL
垢版 |
2017/03/07(火) 13:54:22.26ID:???
安価ミスしちゃうそそっかしい人はフォーマッタ使えばいいんじゃないでしょうか。
0396NAME IS NULL
垢版 |
2017/03/07(火) 14:03:09.27ID:???
>>393
> 大文字小文字の問題は根深いよな
根深いっつーか、どっち派もいるというだけでしょ
他言語だっていつまでたっても中括弧の書き方レベルの議論が終わらないし
0397NAME IS NULL
垢版 |
2017/03/07(火) 14:23:20.70ID:???
てか、別に大文字小文字で開発効率が落ちる奴がいても不思議じゃない。
不思議じゃないが、だから何ってはなしで。
俺らには関係ない。
0398NAME IS NULL
垢版 |
2017/03/07(火) 15:50:13.46ID:???
スレチかも知れんがMac使ってるやつはSequel入れとけフリーでこんないいの
なかなかないぞ
0399NAME IS NULL
垢版 |
2017/03/07(火) 16:33:49.67ID:???
大文字小文字もインデントの具合も全てどうでもいいと思ってるが・・・

カンマを行頭に置く奴だけは許せん!!!
0400NAME IS NULL
垢版 |
2017/03/07(火) 17:40:36.93ID:???
俺もこの程度で効率落ちまくるなら、プログラマに向いてないと思うよ
0401NAME IS NULL
垢版 |
2017/03/07(火) 17:52:14.51ID:???
プログラマなら、たとえMISRA-C完全準拠を要求されても、淡々と従うものだ。
0402NAME IS NULL
垢版 |
2017/03/07(火) 18:17:10.46ID:???
>>381
お前がw
このスレでw
一番低レベルだがなwww
0404NAME IS NULL
垢版 |
2017/03/07(火) 23:52:37.76ID:???
俺は逆に面倒だと思う人のほうがプログラマには向いてるとおもうけどな
if so を考えるのって大事だと思うぞコーダーって意味なら向いてないと思うけど
0405NAME IS NULL
垢版 |
2017/03/08(水) 12:54:37.42ID:???
>>404
面倒だと思うのはかまわない

ただ、この程度で効率落ちまくるレベルの奴は、プログラマに向いてないってだけだ
0406NAME IS NULL
垢版 |
2017/03/08(水) 15:50:08.89ID:???
「落ちまくる」のは向き不向きよりも不慣れなだけだろう

向き不向きの話をするなら、大文字で書くことに何の疑問も持たない人の方がプログラマに向いていない
理由があって大文字を選択してるなら良いことだと思うが
0407NAME IS NULL
垢版 |
2017/03/08(水) 16:03:35.29ID:???
マジでうざいわ。
いつまでやってんだ。
0408NAME IS NULL
垢版 |
2017/03/08(水) 16:10:50.92ID:???
>>406
キーワードを大文字で書けくらい、即慣れるだろ
ふつーのプログラマなら、効率が落ちまくったりしません
0409resumi
垢版 |
2017/03/08(水) 17:37:21.53ID:hjh5f++s
https://goo.gl/l3fSYl
これ本当??
普通にショックだね。。
0410NAME IS NULL
垢版 |
2017/03/08(水) 17:54:51.71ID:???
この粘着質、どこかで
0411NAME IS NULL
垢版 |
2017/03/08(水) 18:00:24.69ID:???
>>386
> 毎回shift+capslockしてるの?
誰も答えないのでコメントしとくか。

普通はCapsLockなんか使わないでしょ。
Shift推しながらタイプするだけ。
■ このスレッドは過去ログ倉庫に格納されています

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