虹裏img歴史資料館

ここでは虹裏imgのかなり古い過去ログを閲覧することができます。新しいログはこちらにあります

17/07/16(日)10:09:17 暇だか... のスレッド詳細

削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。

画像ファイル名:1500167357086.png 17/07/16(日)10:09:17 No.439982643

暇だからSQLでも勉強しようか

1 17/07/16(日)10:10:37 No.439982850

select "くそはげ";

2 17/07/16(日)10:10:44 No.439982864

メリケン人の講演をネットで見てると すぃーくぉーーー って発声してて へーと思った

3 17/07/16(日)10:12:31 No.439983127

(+)って書くの禁止ね

4 17/07/16(日)10:13:43 No.439983321

SQLの勉強の前にデータの正規化について義務教育化すべきだよ

5 17/07/16(日)10:13:48 No.439983338

select * form 「」 where nenshu >= 10000000

6 17/07/16(日)10:13:51 No.439983347

SQLでプログラミングはやめて…

7 17/07/16(日)10:14:09 No.439983390

accessだとUNIONだと255文字に制限されてUNION ALLだと255文字超えても出力できるとかいうのが意味わかんなかった

8 17/07/16(日)10:15:45 No.439983640

>select "くそはげ" from dual;

9 17/07/16(日)10:16:25 No.439983747

正規化は色んな所で役立つからいいよね

10 17/07/16(日)10:16:30 No.439983754

プログラマのためのSQLとSQLアンチパターンは読んで覚えておくように

11 17/07/16(日)10:17:17 No.439983889

誰だよこのクソ長い複雑怪奇なSQL書いたやつ… ストアドも使ってるから解析めどい…

12 17/07/16(日)10:17:53 No.439983971

nenshu NUMBER(7)

13 17/07/16(日)10:19:14 No.439984176

select * from ( select "あ" from dual union all select "い" from dual union all select "う" from dual union all select "え" from dual union all select "お" from dual )

14 17/07/16(日)10:20:00 No.439984284

select decode(decode(decode(…

15 17/07/16(日)10:20:01 No.439984289

Select * From KABUKI As k Where '546' In (k.van, k.te, k.lin) 結構便利そうだけど使う機会に殆ど出会わない

16 17/07/16(日)10:20:44 No.439984401

>select decode(decode(decode(… プログラムでやれや!

17 17/07/16(日)10:21:08 No.439984467

>select decode(decode(decode(… case式使えや

18 17/07/16(日)10:21:36 No.439984551

>accessだとUNIONだと255文字に制限されてUNION ALLだと255文字超えても出力できるとかいうのが意味わかんなかった たぶんunionだと内部でソート処理して重複チェックするから その処理の都合

19 17/07/16(日)10:21:48 No.439984582

in使う奴は殺すマンいるこわい

20 17/07/16(日)10:22:05 No.439984626

CASE式つかうとSQLプログラミングがサクサクになるぞ

21 17/07/16(日)10:22:20 No.439984661

>Select * From KABUKI As k Where '546' In (k.van, k.te, k.lin) そういう設計書書くとたいてい上司に怒られる

22 17/07/16(日)10:22:31 No.439984693

>CASE式つかうとSQLプログラミングがサクサクになるぞ SQLでプログラミングはやめて…

23 17/07/16(日)10:24:01 No.439984922

MySQLのストアドマジフリーダム

24 17/07/16(日)10:24:02 No.439984923

プログラマのためのSQLは若い頃に第2版で読んだけど最近第4版で読み直そうとしたら脳の衰えを感じた

25 17/07/16(日)10:24:13 No.439984959

>そういう設計書書くとたいてい上司に怒られる だって k.van = '546' Or k.te = '546' Or k.lin = '546' って書くのバカっぽいじゃない

26 17/07/16(日)10:24:37 No.439985022

TRUNCATEするね…

27 17/07/16(日)10:25:45 No.439985217

>TRUNCATEするね… トラウマやめて… うっかりテスト環境のデータいれ直すつもりで本番環境にね…

28 17/07/16(日)10:26:06 No.439985276

>うっかりテスト環境のデータいれ直すつもりで本番環境にね… やったのか「」!

29 17/07/16(日)10:26:13 No.439985300

普通のプログラムでもオアオアオア~ってなるより list.contains(a)みたいにやったほうがきれいだもんなー

30 17/07/16(日)10:26:20 No.439985318

いわゆる共通テーブル式が使えるか使えないかで自由度が大幅に変わる 具体的には頼むからMySQLははよ実装してくれ

31 17/07/16(日)10:26:20 No.439985319

With便利だよね

32 17/07/16(日)10:26:36 No.439985363

なんか新人がデータベース適当にいじってた エクセル見たいなもんすよね!って 大事になった

33 17/07/16(日)10:26:52 No.439985416

(+)超便利だと思うんだけどなんで流行らないん?

34 17/07/16(日)10:27:12 No.439985474

>(+)超便利だと思うんだけどなんで流行らないん? 実質流行ってる!

35 17/07/16(日)10:27:36 No.439985551

SELECT A.HAGE FROM 「」 A WHERE EXISTS (SELECT * FROM NU B WHERE A.CIAO = B.CIAO) って書くと「*使うなって標準化資料に書いてあるだろボケェ」って怒られるのいいよね良くない

36 17/07/16(日)10:27:55 No.439985600

>だって >k.van = '546' Or k.te = '546' Or k.lin = '546' >って書くのバカっぽいじゃない 思うにばかっぽい書き方でも 大事なのはバカでも誰でも一目見て意味を察することが出来ることでは?

37 17/07/16(日)10:28:57 No.439985772

>大事になった accessでやったのか…

38 17/07/16(日)10:29:03 No.439985787

実質超はやってるけど 標準の書式じゃないから移植性というアレがソレで 業務システムだとインフラの移植することあるのか謎だけど

39 17/07/16(日)10:29:05 No.439985795

B.*でいいんじゃね

40 17/07/16(日)10:29:54 No.439985909

>やったのか「」! ちょっと一部上場の仕訳テーブルを飛ばしましてね… うn兆円の取引データがですね…

41 17/07/16(日)10:30:32 No.439986010

読み易さなんか些細なこと イチバン重視しないといけないのはoptimizerに最適な問い合わせをしてもらえるクエリを書くことだよ Hint句バリバリ決め打ちでレイプしてもいい

42 17/07/16(日)10:30:43 No.439986043

>って書くと「*使うなって標準化資料に書いてあるだろボケェ」って怒られるのいいよね良くない existsの中のselect項目は1とか'X'とか適当な固定値にしとくのがセオリーで *だと内部処理でテーブルの全項目取得する分ちょっと遅いと実しやかに囁かれている

43 17/07/16(日)10:31:02 No.439986085

>うn兆円の取引データがですね… 本番ならバックアップあるからへーきへーき 当日のお客様業務は1からやり直しだけど

44 17/07/16(日)10:31:29 No.439986152

よっぽど複雑怪奇な条件でないなら単テーブルアクセスごときにSQL文を書かなければいけないというのはおかしいと思ってほしい

45 17/07/16(日)10:32:04 No.439986249

>思うにばかっぽい書き方でも >大事なのはバカでも誰でも一目見て意味を察することが出来ることでは? インデックス使えなさそうな事の方が問題だと思う 最近のオプティマイザはそれでもうまいことしてくれるのかもしれんが

46 17/07/16(日)10:32:20 No.439986293

結合条件がwhere句に来るのが嫌

47 17/07/16(日)10:32:21 No.439986298

countとか下手に実数や列指定するより*で書いた方が 今どきのRDBMSの実装だとハイハイカウントカウントねでよしなに処理してくれるから速かったりする

48 17/07/16(日)10:32:37 No.439986325

オプティマイザが優秀ならSQLなんて適当でいいんだよ 死んだ

49 17/07/16(日)10:32:41 No.439986330

>SQLの勉強の前にデータの正規化について義務教育化すべきだよ メモ機能追加したいって言ったら今のレコード数*メモの領域拡張が必要です!とか言われて諦めたらしい うちの会社はベンダーのおもちゃだと思う

50 17/07/16(日)10:32:46 No.439986342

>*だと内部処理でテーブルの全項目取得する分ちょっと遅いと実しやかに囁かれている そういう理屈ではなく単に*を使ってデータ全消しした前歴があるから使うなってだけだと思う

51 17/07/16(日)10:33:10 No.439986404

久しぶりに書いたらIndex効かない条件忘れててクソァってなる

52 17/07/16(日)10:33:34 No.439986475

基本的にはEntityFrameworkがSQL勝手に実行してくれるから楽だけど 使い方気をつけないと糞遅いSQL吐き出すから注意してね

53 17/07/16(日)10:33:38 No.439986484

別名つけないと怒られる…

54 17/07/16(日)10:33:49 No.439986513

わかったインデックスいっぱいつけよう!

55 17/07/16(日)10:33:50 No.439986518

>existsの中のselect項目は1とか'X'とか適当な固定値にしとくのがセオリーで >*だと内部処理でテーブルの全項目取得する分ちょっと遅いと実しやかに囁かれている 今日日のRDBMSでそんなクソタコな実行する奴ないだろ まぁAccessというかJETはタコだったが

56 17/07/16(日)10:34:09 No.439986571

集計ぬく時にスパッとしたの書けると非常に気持ちいい

57 17/07/16(日)10:34:32 No.439986641

Explainの見方よくわかんにゃい

58 17/07/16(日)10:34:42 No.439986661

>わかったインデックスいっぱいつけよう! 遅い……

59 17/07/16(日)10:34:46 No.439986675

ずらり並んだorとinはSQLが何かしらの内部表現にパースされたときに同じものとして評価されてると思いたい Pervasiveみたいなド古いDBでSQLによる問い合わせが後付けされたものだとそんなことしてないかもしれない

60 17/07/16(日)10:35:46 No.439986861

古いデータは別テーブルに移さずパーティション切ればいいのだ

61 17/07/16(日)10:36:12 No.439986928

>結合条件がwhere句に来るのが嫌 個人的にJOIN使わない奴はクソだと思っている ついでに(+)使う奴は高確率で空文字とNULLを同一視してるから嫌い

62 17/07/16(日)10:36:17 No.439986942

mysqlのオプティマイザそんなに賢くないしね クセがある

63 17/07/16(日)10:36:33 No.439987000

インデックス君についてよくわからない人は多い

64 17/07/16(日)10:36:33 No.439987003

配列型いいよね…

65 17/07/16(日)10:36:40 No.439987025

>オプティマイザが優秀ならSQLなんて適当でいいんだよ >死んだ DB2でoptimizerが優秀すぎて途中から実行計画が変わって性能が劣化したときがあって参ったな… データ量だけでなく何か特定のパターンの問い合わせが多いとそれに最適化してきやがるの かしこいね

66 17/07/16(日)10:37:33 No.439987166

SQL2008の機能ゴールド持ちでも知らない どうなってんの

67 17/07/16(日)10:38:23 No.439987304

>countとか下手に実数や列指定するより*で書いた方が BIみたいな集計関係をやらされてるとcount(*)とcount(col1)ってのが物凄く重要な意味を持ってくるんでやるなとか言ってるのに付き合ってられない

68 17/07/16(日)10:38:47 No.439987372

最近なにかもうSQL自体がレガシー扱いで物足りない with句が入ったときのあの1テーブル1回の問い合わせで バシッとツリー構造表現できたときぐらいのアハ感が欲しい

69 17/07/16(日)10:39:10 No.439987436

いやじゃ… 仕事の話なぞしとうない…

70 17/07/16(日)10:39:50 No.439987525

オプティマイザなんてバカでいいんだよ データがどう変わろうがこっちが指定したインデックスを使い続けてればいいんだ

71 17/07/16(日)10:40:10 No.439987586

やめろやめろせっかくのきゅうじつにやめたかいしゃのぎょうむのはなしなどききたくない

72 17/07/16(日)10:40:38 No.439987655

>ついでに(+)使う奴は高確率で空文字とNULLを同一視してるから嫌い ORACLEのVARCHARいいよね良くない

73 17/07/16(日)10:41:06 No.439987748

COUNTで*と列指定が同じ意味になるのはNULLを含まない時だけだからなぁ 逆に純純粋なレコード数カウント時に適当な列いれてたりするのは…すぞってなる

74 17/07/16(日)10:41:35 No.439987825

Oracle様の仕様は絶対だ 口を慎め

75 17/07/16(日)10:41:55 No.439987877

IS NULL入れないと結果かわるのいいよね

76 17/07/16(日)10:41:55 No.439987878

胃が痛くなってきた…

77 17/07/16(日)10:42:44 No.439988037

SQLServerの仕様の自由奔放ぶりはすがすがしさすら感じる

78 17/07/16(日)10:42:45 No.439988042

最近入り口に触れたばかりだから色々分かってくるのが楽しいけど深淵に触れるとおかしくなっちゃうのか…

79 17/07/16(日)10:42:47 No.439988046

ストアドであらゆる計算してるシステム保守してるけど辛い

80 17/07/16(日)10:43:06 No.439988088

>>大事なのはバカでも誰でも一目見て意味を察することが出来ることでは? >インデックス使えなさそうな事の方が問題だと思う そういうこと気にするならテーブル設計間違えてるってことなんでそっちのほうが問題

81 17/07/16(日)10:43:27 No.439988158

>データがどう変わろうがこっちが指定したインデックスを使い続けてればいいんだ 本当はデータ入ってるのに自動収集した0件統計使ってSQL動くのいいよね よくない

82 17/07/16(日)10:43:38 No.439988183

いいや君にはよく分からない動きをするトリガー群もメンテナンスしてもらう

83 17/07/16(日)10:44:13 No.439988305

>いいや君にはよく分からない動きをするトリガー群もメンテナンスしてもらう おぅふぁっく…

84 17/07/16(日)10:44:30 No.439988359

へちょい設計を後付けでカバーしてくれるマテリアライズドビューみたいな仕組みがMySQLくんにも欲しい…

85 17/07/16(日)10:45:06 No.439988462

なんか入れ子になっててよくわからないPL/SQLも頼むね

86 17/07/16(日)10:46:07 No.439988645

せっかくDBスペシャリスト取ったのにDB使わない業務に異動になってしまった

87 17/07/16(日)10:46:09 No.439988654

>Oracle様の仕様は絶対だ >口を慎め 空文字とNULLの件ならOracleですらもういつやめてもおかしくないから非推奨つってるかんな!

88 17/07/16(日)10:46:45 No.439988777

今時のシーケンシャル読み込みが速いストレージだと バカチョンにsumるだけの問い合わせとか パーティショニング綺麗にしてたらindex使わない方が速いのかなぁ

89 17/07/16(日)10:47:06 No.439988848

SQLに関しては難解であったとしてもパフォーマンスが出ればそちらの方がいい…

90 17/07/16(日)10:47:08 No.439988856

宣言的なクエリとかよくわかんないからカーソルでぶん回すね…

91 17/07/16(日)10:47:44 No.439988942

いやじゃ…こんなクエリなぞメンテしとうない…

92 17/07/16(日)10:48:23 No.439989052

>>TRUNCATEするね… >トラウマやめて… >うっかりテスト環境のデータいれ直すつもりで本番環境にね… これ数回やった同僚がいたわ

93 17/07/16(日)10:48:27 No.439989061

>SQLに関しては難解であったとしてもパフォーマンスが出ればそちらの方がいい… パフォーマンス必要なところ以外はやめてくだち

94 17/07/16(日)10:48:37 No.439989094

sqlなんてプログラムの方と構造が一致してないレガシーだから代替物が出てきてほしい

95 17/07/16(日)10:48:52 No.439989158

なんで三連休の中日に苦行してるんだよ!?

96 17/07/16(日)10:48:56 No.439989172

>これ数回やった同僚がいたわ なそ にん

97 17/07/16(日)10:49:06 No.439989199

保守性と書きやすさと速度のトレードオフ

98 17/07/16(日)10:49:21 No.439989248

start with やらleadやらあの辺の有効活用ができない

99 17/07/16(日)10:49:24 No.439989256

>ストアド ある条件ごとに返す項目変えるViewの項目をストアドで実装 ストアドの中では呼ばれる度にカーソル開いて引数と比較していて 「遅いんですけぉ!!!1111!」とかやってるの見たときは眩暈がした

100 17/07/16(日)10:49:37 No.439989295

>せっかくDBスペシャリスト取ったのにDB使わない業務に異動になってしまった 正直実務に役立つような試験には思えなかったし惜しむようなもんでもなかろう 次の業務のやつも取ろうぜ

101 17/07/16(日)10:49:48 No.439989326

>sqlなんてプログラムの方と構造が一致してないレガシーだから代替物が出てきてほしい むしろコードはsqlのラッパだと考える

102 17/07/16(日)10:49:55 No.439989343

(+)ってなに?

103 17/07/16(日)10:50:01 No.439989365

>最近入り口に触れたばかりだから色々分かってくるのが楽しいけど深淵に触れるとおかしくなっちゃうのか… チョコっと違うだけで計算量がO(n)なのがO(n^2)になったりO(n^n)になってりするし 時間かけた挙句そもそも使い物にならないデータ引っ張ったりすることになるしで つらいつらい

104 17/07/16(日)10:50:47 No.439989508

OracleDBのアホなインデックスの参照見てからwhere句長いSQL文見るたびにヒント足したくなる

105 17/07/16(日)10:50:55 No.439989534

>正直実務に役立つような試験には思えなかったし惜しむようなもんでもなかろう 正規化を問う問題多いしかなり実務で役立つと思うが

106 17/07/16(日)10:51:34 No.439989671

>(+)ってなに? Oracle方言の外部結合 fromにleft outer joinで書くんじゃなくて whereに書くやつ

107 17/07/16(日)10:51:34 No.439989672

そうは言うがSQLやめたらきっとISAMん頃みたいに プログラミング言語でそのまま問い合わせ書くことになるぞ… 今でもNoSQLやらMapReduceでガラガラポンする類とかそんな気があるが

108 17/07/16(日)10:52:02 No.439989753

>sqlなんてプログラムの方と構造が一致してないレガシーだから代替物が出てきてほしい むしろ最近は宣言的な奴はやってきてるじゃないか LINQとか考え方は高階なSQLみたいなもんなのに型安全で最高だぞ

109 17/07/16(日)10:53:38 No.439990048

テーブル結合をwhereとjoin両方使ってるクエリとかなんで…?ってなる

110 17/07/16(日)10:53:50 No.439990088

十年ちょっと前はXML DBとXQueryの時代が来ると思ってた

111 17/07/16(日)10:54:45 No.439990265

>テーブル結合をwhereとjoin両方使ってるクエリとかなんで…?ってなる JOINに条件式一個しかかけないと勘違いしてるとか

112 17/07/16(日)10:54:52 No.439990281

人類に最も必要なのは(人間から見て)関係無い既存行を再計算しないalter table

113 17/07/16(日)10:55:06 No.439990326

leadは便利だよエクセルでよくやる後行との比較ができるよ

114 17/07/16(日)10:56:26 No.439990587

書き込みをした人によって削除されました

115 17/07/16(日)10:56:49 No.439990646

' OR 1=1

116 17/07/16(日)10:56:53 No.439990657

>テーブル結合をwhereとjoin両方使ってるクエリとかなんで…?ってなる whereじゃそこでjoinしたいテーブルにキーがないと結果に出てこなからそこで困るんだろ

117 17/07/16(日)10:58:10 No.439990869

同一キーのテーブルは一つのテーブルに統一するのが正規化の基本だけど それだとNULL値の多い列が多くなって来ない?

118 17/07/16(日)10:58:27 No.439990917

>leadは便利だよエクセルでよくやる後行との比較ができるよ ウィンドウ関数のrows betweenで十分な気がする

119 17/07/16(日)10:59:57 No.439991159

>同一キーのテーブルは一つのテーブルに統一するのが正規化の基本だけど そうだっけ?

120 17/07/16(日)11:01:10 No.439991363

トランザクションで整合性持たせるじゃん? ロックかかるじゃん リードできないじゃん…どうすればいいの

121 17/07/16(日)11:01:12 No.439991371

>同一キーのテーブルは一つのテーブルに統一するのが正規化の基本だけど お仕事ではそうかもしれないけど理想の話ならもっと細かくしちゃう

122 17/07/16(日)11:01:52 No.439991481

Foreign Key は設定するのが多数派だよね

123 17/07/16(日)11:01:59 No.439991499

>トランザクションで整合性持たせるじゃん? >ロックかかるじゃん >リードできないじゃん…どうすればいいの ロックされてるなら待てばいいじゃん?

124 17/07/16(日)11:03:01 No.439991668

>Foreign Key は設定するのが多数派だよね 面倒のもとだから設定しないなぁ

125 17/07/16(日)11:03:02 No.439991676

>お仕事ではそうかもしれないけど理想の話ならもっと細かくしちゃう だよね 品目マスターとか列めっちゃ多くなるしNULL多くなる

126 17/07/16(日)11:03:24 No.439991754

FKがあると客がコンプライアンス的に不味い手修正をすることができないからダメだ

127 17/07/16(日)11:03:35 No.439991794

>同一キーのテーブルは一つのテーブルに統一するのが正規化の基本だけど >それだとNULL値の多い列が多くなって来ない? 正規化ってそういう意味じゃないというか 第6正規形までいけばNULL自体が原理的に存在しないぞ、実用には耐えんが

128 17/07/16(日)11:03:47 No.439991835

>ロックされてるなら待てばいいじゃん? めっちゃ遅いんですけお!

129 17/07/16(日)11:04:09 No.439991911

それが正しいDBの姿じゃ

130 17/07/16(日)11:04:11 No.439991923

わかんねえ…もう1列ん中にカンマ区切りで入れちまえ…

131 17/07/16(日)11:05:20 No.439992140

10年前にSQLアンチパターンみたいな本があれば あんなことやこんなことを防げて俺は定時で帰れたはずだった

132 17/07/16(日)11:05:21 No.439992141

>わかんねえ…もう1列ん中にSQL入れちまえ…

133 17/07/16(日)11:05:26 No.439992160

select * from table1 A inner join table 2 B ON A.key = B.keykey inner join table 3 C ON A.subKey = C.subKey inner join table 4 D ON B.subSubKey = D.Key AND D.subKey = A.Key inner join....

134 17/07/16(日)11:05:31 No.439992184

>第6正規形までいけばNULL自体が原理的に存在しないぞ、実用には耐えんが データが存在しないからってことか? どうせ結合して取ってきたらNULLで返ってくるんだから素直に項目入れてほしいわ

135 17/07/16(日)11:06:34 No.439992371

NULLだけは絶対に許さない 全てのカラムにNOTNULLを付けさせてもらう

136 17/07/16(日)11:07:16 No.439992514

理想的なDB設計で実装して パフォーマンス問題はインフラ担当に何とかして貰おう

137 17/07/16(日)11:07:59 No.439992644

ディスク全部SSDにしてもらおう

138 17/07/16(日)11:08:00 No.439992646

>データが存在しないからってことか? >どうせ結合して取ってきたらNULLで返ってくるんだから素直に項目入れてほしいわ じゃなくて、データが存在しないことをレコードの有無自体で表現できるところまでやるのが6なんだよ 外部結合して非正規化したら当然NULLになる

↑Top