X



トップページDB@2ch掲示板
1002コメント294KB

SQL初心者質問スレ [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2016/05/12(木) 05:29:07.61ID:HmbS4CfD
SQL初心者用の質問スレッドです。
0286NAME IS NULL
垢版 |
2017/02/23(木) 21:19:47.86ID:???
これからSQL勉強する者です
独学で本を参考にするつもりですが、まずSQLでデータベースから抽出できます、といえる程度になるにはどのくらいの期間見込めばいいでしょうか?
0288NAME IS NULL
垢版 |
2017/02/23(木) 21:40:25.72ID:???
抽出だけなら、5分も掛からないんじゃないか?
0289NAME IS NULL
垢版 |
2017/02/23(木) 22:36:11.91ID:???
本を買いにいく時間がある
0290NAME IS NULL
垢版 |
2017/02/23(木) 22:43:24.60ID:???
いや真面目に・・3ヶ月くらいだろうか?ととりあえず予測を立てたのですが・・
実務でできないのが痛いところなのですが
0291NAME IS NULL
垢版 |
2017/02/23(木) 22:47:49.28ID:???
何をインストールするのか知らんけど、つまずく奴はRDBを自分のPCにインストールするとこからつまずくからなw
あれこれやる前から考えてもしょーがない。自分でコマンドをどんどん入れてみるこったよw
0294NAME IS NULL
垢版 |
2017/02/23(木) 22:54:07.87ID:???
君がPCを所有していて、OSが入っていて、ネットに接続できているなら
適当なSQLをダウンロードしてインストールすれば
勉強は今すぐにでも開始できそうなんだが
0295NAME IS NULL
垢版 |
2017/02/23(木) 22:55:54.53ID:???
>>290
あんたの才能とやる気次第としか言えない
SQLはかなり癖のある言語だから、ダメな人は1分で本を閉じて終わり
0296NAME IS NULL
垢版 |
2017/02/23(木) 22:58:52.89ID:???
>>291
MySQL
能書きいうよりまずやることは経験済み納得だが、今後の方向づけを検討しての質問だった
0297NAME IS NULL
垢版 |
2017/02/23(木) 23:01:31.26ID:???
>>294
そうなんですよ
いまうちmacしかも壊れた・・(へぼくてすまん)
つうことでうちは会社があまりダウンロードとかうるさくないのですが、
会社のwinマシンに落とすことを目論み中ですが、会社PCに個人で落としてる人いますか?
0298NAME IS NULL
垢版 |
2017/02/23(木) 23:27:33.63ID:???
それはここで聞かずに、上司に聞くべきことだろ
ちゃんと理由を説明して、何をインストールしたいか説明し
それが仕事で必要なことだとなればインストール可能じゃないのかな?

君の会社での役割が管理者で、PCの設定に関して権限があるなら、聞かなくてもいいだろうけど
0299NAME IS NULL
垢版 |
2017/02/23(木) 23:34:32.60ID:???
やはりこっそりはまずいか…
実務じゃ必要ないって言われるのが関の山だ
だってうちの上司ろくに関数もわからないお馬鹿…なんでもマッチョに力技が得意技なもんで
なくせに色々要求してくる
んでそんなとこを抜け出すためのSQL習得なのです
Winマシンを大人しく速攻買おう
つうことで安いの探すとこから始めます
Dellあたりかなー できたらVAIO
0300NAME IS NULL
垢版 |
2017/02/24(金) 05:16:28.19ID:???
けっこうまじめに質問したんだけどやっぱ2ちゃんだな
冷やかしだけで答えてはもらえないか
ま、いいやとっととやるから
0302NAME IS NULL
垢版 |
2017/02/24(金) 08:44:57.02ID:???
真面目に回答しても冷やかしとしか受け取って貰えない w
0303NAME IS NULL
垢版 |
2017/02/24(金) 09:11:23.71ID:???
>>300
だいぶ抽象的で、何に役立つのか
分かりにくい質問だったことは
覚えておいて。
0304NAME IS NULL
垢版 |
2017/02/24(金) 10:00:29.90ID:???
DB板は、おふざけな質問でない限りマトモに答えてくれるよ
0305NAME IS NULL
垢版 |
2017/02/24(金) 11:03:39.31ID:???
SQLでデータを抽出する基本だけなら、みんな言うように1日でできるぞ
select文流すだけだからな

問題は、SQLを発行する方法とそのための環境の構築が難しいだけで
0307NAME IS NULL
垢版 |
2017/02/24(金) 18:58:00.39ID:U+kKk5Yi
>>305
基本ってなんだよ?
0309NAME IS NULL
垢版 |
2017/02/24(金) 20:52:10.93ID:dYCyIIDS
まず初心者には結合が1日で理解できるかどうか。
0310NAME IS NULL
垢版 |
2017/02/24(金) 21:09:40.60ID:???
批判も応援する言葉もどちらもありがとう

290で3ヶ月と言ったのは、会社のちょっとデータ詳しいちょー意地悪なおっさん(でも非エンジニアで営業部のデータ取りまとめしてる程度)に
SQL独学で3ヶ月でてきて当たり前、オレは3ヶ月で覚えた、と言われて

もちろんそれはマウントしたいだけだからどの辺りまでかなんて言わないしこっちも聞かない

だから漠然とした答えに困るような素人くさい愚問なアホな質問とわかっていたんだけど、
とりあえずの導入としてはどのくらい見ればいいかな、と知りたくなってしまって

だから答えてくれた時間とかはその通りでもあるし、その限りでないこともわかってる

そのおっさんは独学で覚えたのが自慢で、でもそのおっさんがExcelで作ったものはちょっとした普通の作業が汚い

SEの人と一緒に働いたとき当たり前のことをちゃん綺麗に整えて作るからとても感心した

そんななんやかやがあり
スレ違いになり申し訳ない

Hello world
0311NAME IS NULL
垢版 |
2017/02/24(金) 23:02:19.13ID:???
本日、postgresqlをDB2に替えたらwebアプリが動かなくなったわ。
もう逃げたい。俺のせいじゃないけど。
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してるの?てか列名日本語にするのほんとやめてください
■ このスレッドは過去ログ倉庫に格納されています