SQLだけ苦手 (172レス)
上下前次1-新
1(6): 2018/04/17(火)23:35 AAS
業務でSQLを扱っているけどいまいち理解できないです。
INNER JOIN?何が「内側」なのか理解できない
LEFT OUTER JOIN?はぁ?何を基準に「左」なんだ?しかも「外側」・・・
抽出条件がWHEREだと?条件はIFかWHENだろうが!
直積とデカルト積の違いは?要するに「総当たり」なの?
こんな調子で業務に支障が出始めてます。
どうしたら理解できる?
92: 09/26(金)18:02 AAS
そりゃ無理だろ
細かいことしようと思ったらSqlCommand使うしかないし
93(1): 09/26(金)18:05 AAS
SqlCommandは万能だけど文字列連結でSQLを作ってぶち込む馬鹿が居るから使用禁止にしてた
94: 09/27(土)02:13 AAS
それがNGかどうかは場合によるだろ
95: 09/27(土)07:59 AAS
当然場合によるよ
うちは無能なSESが多い現場だったからそうせざるを得なかった
96: 09/27(土)09:25 AAS
sqlで細かい事やろうとしなければいいんだよ
ガバッと取り込んで、あとはlinqでやる
97: 09/27(土)13:53 AAS
場合によるとか、そんな当たり前過ぎる話をされてもね
98: 09/27(土)14:29 AAS
無知で申し訳ないんだけど、LINQするときって内部的にはWHERE句が使われるんだろうか?
ググると「SqlCommand使おう!」みたいないかがでしたかブログしか出てこない
まさかSELECTで全部取得した結果に対してWhere()で絞ったりとかは無いよね?
99: 09/27(土)14:32 AAS
Where()したときにWHERE句が使われるかどうかを知りたい
ChatGPTはそう仰ってたけどソースがないから信用ならん
100: 09/27(土)15:02 AAS
SQL作るところはプロに任せて、知らない若手にはラッパーで操作してもらうが最適解に思えてきた
上で既に結論が出てるっぽいけど
101: 09/27(土)19:54 AAS
クエリパラメータを使っていればパフォーマンス的には問題ないし、バックエンドでの処理ならインジェクションのリスクも少ない
linqだと遅延評価による無駄なクエリ実行やToListしてからwhere書いちゃうミスもある
場合によるというのはそういうこと
102: 10/06(月)04:00 AAS
静的SQLのようなもんだしな
103(1): 10/09(木)00:28 AAS
sqlなんて今時経理でも書けるぞ
104: 10/09(木)14:05 AAS
>>103
そういう世界だったら楽だけどな
105(1): 10/09(木)21:43 AAS
何かしら出したいデータセットがあるとして、それをクエリ側でやるべきかアプリ側でやるべきかいつも悩む
何百行の複雑な1SQLで完結させると、メンテできる人が限られるけど関心事がクエリに絞られる
アプリ側で実装するとそれはそれで複雑になるけど対応できる人が限定されにくい
106(2): 10/10(金)08:33 AAS
>>93
別にエエやんけ
禁止すると応用効かへんぞ
107: 10/10(金)23:38 AAS
>>105
何のためにストアドプロシージャがあるんだよ?
108(1): 10/11(土)00:01 AAS
>>106
SQLインジェクションされても同じ事が言えるのか
109: 10/11(土)04:01 AAS
ストアドとか生産性クソだし触りたくないな
今どき速度がどうこうでストアド使うことなんてないし
110: 10/11(土)12:57 AAS
>>106
全然良くなくて草
プロダクトでそれやったらお終いだよ
お前みたいな無知が居るから禁止しないといけないんだよ
111: 10/11(土)13:04 AAS
ユーザー入力にはプレースホルダ使うのは必須
さもないとインジェクションでDBぶっ壊されるよ
SESでこういう文字列連結やらかす無能がいる
112: 10/11(土)13:33 AAS
SqlCommandにもParameterあるからな
強制するルールにすればSQLインジェクションの問題はないからSqlCommandを禁止する理由にはならない
コードレビューすらしない現場なら知ったことではないが
113: 10/11(土)13:55 AAS
俺の現場では当然レビューはするよ
ただレビューコストがかかりすぎる、指摘が多すぎて別人にやってもらった方が早いなら、その人には禁止にした方が合理的
レベルが低すぎるSESにはSQL書かなくてもいい簡単な仕事を任せればいいだけ
114: 10/11(土)13:57 AAS
あ、これは俺の現場の話なので、元のSqlCommand禁止云々の話は知らん
多分禁止するだけの理由が何かあるんだろう
115: 10/11(土)13:58 AAS
あまりにもクソコードすぎてコーディング自体を禁止された派遣の人なら知ってる
そいつは最終的にテスト作業しか振られなくなった
116: 10/11(土)14:06 AAS
placeholder強制は強制されなくても常識だよね
問題はこの必要性が分からない人が仕事にアサインされることであって
新人なら仕方ない
経歴盛ったSESがこれをやらかすのは大問題かと
117(1): 10/11(土)17:07 AAS
ストアドプロシージャなんて久々に聞いた言葉だ
118(2): 10/11(土)19:45 AAS
>>117
ちなみにデータ分析の世界ではストアドが主流なんだが?
119: 10/11(土)20:00 AAS
開発系なんでストアドなんて使わんわ
120: 10/11(土)20:05 AAS
むしろストアドプロシージャそのものを知らない
121(1): 10/11(土)21:21 AAS
>>118
結局何が言いたいのか意味不明
122: 10/11(土)21:51 AAS
どうせ自慢したいだけなんでしょ
123: 10/11(土)22:42 AAS
>>118
そんなトレンド聞いたことないわ
お前の会社だけだろ
124: 10/11(土)23:19 AAS
×会社
〇脳内
125(1): 10/12(日)00:09 AAS
ストアドは速い
超速い
実際にデータ見て最適化するせいで
そのへんの計算専用ライブラリより速いことが多い
126: 10/12(日)00:13 AAS
データとの距離も近くて計算のためのロードが速い
127(1): 10/12(日)05:21 AAS
>>121
製品内部では静的SQLで、製品内でSQLを発行して構文チェックから始めるようなことはしていない。
Microsoft Accessのクエリはストアドクエリ(ビュー)だぜ?
128: 10/12(日)05:23 AAS
>>125
速いんじゃなくて、通信を頻繁に行なう使い方の場合は遅くなるだけ。
129: 10/12(日)16:26 AAS
>>127
だから結局何が言いたいのか意味不明
130: 10/12(日)17:00 AAS
おまえらがSQLと思っているコマンドはほとんどがストアドに変換されて実行されている
ISO SQL規格に合格するためにしかたなく、従来互換のSQL文が使えるように表面的に用意しているだけである
SQLパーサーは今となっては実行計画を計算するためではなく、もはやストアド呼び出しへのコンバーターでしかない
131: 10/12(日)17:37 AAS
まじすか
132: 10/12(日)23:43 AAS
外部のテキストファイルにSQLを書いているのは全体からすると少数派だからな。
BIツールやETL・ELTツール、DWH製品、パッケージソフトはみんな内部ではストアド。
ストアドプロシージャを直接、実行するようなものしか知らないから変な思い込みが発生する。
133(1): 10/13(月)09:26 AAS
おぅ具体例頼むわ
134: 10/13(月)13:04 AAS
MySQLはどうなの?
135: 10/13(月)17:01 AAS
>>108
SqlCommandを運用時に手入力させるようなシステムじゃなければ問題ない
問題発生確率は変わらん
よく考えてみ
136: 10/13(月)18:07 AAS
文字列連結のコード書く人がいるからって話で運用は関係なくね?
論点がズレてる
137: 10/13(月)18:26 AAS
このスレ自体お互いに話が噛み合ってない、というか日本語読めない人が多いから仕方ないことだな
138: 10/13(月)18:27 AAS
じゃあそうでないなら文字列連結の何が悪いの?って話で。
どうせ動的SQLのパターン漏れで構文エラーとかそんなとこでしょ
139: 10/13(月)18:32 AAS
上で答えが出てると思うが
140: 10/14(火)10:05 AAS
一連の流れ見てて思うのは
アホがコーディング規約を作らないでほしい
ただそれだけ
141: 10/14(火)12:46 AAS
思考停止で〇〇は禁止!
楽でいいよね
142(1): 10/14(火)12:53 AAS
そうだよ
禁止する方がマネジメントも楽
クソコード書く奴はコーディング自体を禁止するのが最強
143: 10/14(火)19:51 AAS
レビューを禁止すればクソコードに文句いうやつはいなくなる
144: 10/14(火)20:25 AAS
私語禁止
インターネット禁止
AI使用禁止
業務中の飲食禁止
携帯充電禁止
会社のトイレでのオナニー禁止
一体どうしろと
145: 10/15(水)19:32 AAS
>>142
利便性と危険は表裏一体なのだよ
どこまで許可するかのバランスが大事
そのバランスは開発チームの技量や請負形態や契約内容によって変化する
危険性があるからと言って何でも禁止するのはアホ
146: 10/15(水)23:07 AAS
>>133
Amazon RedShiftは外部のテキストファイルにSQLが書いてあると思っているのか?
外部のテキストファイルを管理することの難しさを考えたことがあるのか?
147(1): 10/15(水)23:10 AAS
でもお前らは仕事中に5ch見たりエロサイト見るのを平気でやるからインターネットを禁止した方が良いよなw
148: 10/15(水)23:23 AAS
>>147
外国ではそういうのが普通で、日本でもまともな会社はテレビを見たり、YouTubeを見たりしている。
仕事は時間を単にかけるのではなくて、利益を生む行動を取らないと意味がない。
149(1): 10/15(水)23:56 AAS
でも年収1000万も稼げてないんでしょ?
150: 10/16(木)22:08 AAS
>>149
為替レートによる
151(1): 10/17(金)16:45 AAS
在宅中に俺はこっそりゲームしてるけど良いんか?
仕事は午前中のうちに終わらせて午後からはゲーム三昧という屑な生活してるわ
152(1): 10/17(金)17:15 AAS
>>151
なぜそんなことにこだわっているのか?
時間の使い方がゲームというのは時間がもったいない。
153: 10/17(金)18:22 AAS
5chでマウンティングに必死になってるお前らと比べれば遥かに有意義な時間の使い方
154: 10/17(金)18:24 AAS
情報発信が無益とな!?
155: 10/17(金)18:26 AAS
今時ゲームを否定する爺さんなんてどうせ定年迎えた痴呆だろ
156: 10/17(金)18:26 AAS
マウンティングという名の情報発信()
157: 10/17(金)18:31 AAS
有益な活動出来るのならもっと無償で質の高い情報を提供してくれ
俺らはそのお零れにフリーライドするので
158(1): 10/17(金)22:54 AAS
>>152
だってゲーム沢山やった方が話題作れるじゃん
空き時間は映画もアニメも見まくってインプットしまくるのよ
筋トレも欠かさずやる
これが有意義な時間の使い方ってものよ
159: 10/17(金)23:03 AAS
そんなことよりSQLの話をしろよ下僕どもw
時間とか利益の話なんて雑談スレですりゃいい
160: 10/18(土)00:43 AAS
>>158
寂しい生活だな
アニメ好きそう
161(1): 10/18(土)10:33 AAS
SQLが苦手ならどういうマシン語が動いているのか意識していないプログラマなのかな?
162: 10/18(土)10:57 AAS
5ch三昧の君は寂しくない生活なのかい
それが良いなら否定はせんが
163(1): 10/18(土)14:38 AAS
>>161
他のプログラミング言語ならばそういう意識は必要だが、それは少なくともSQLには殆ど関係無い
低レベルで意識するとすれば、クエリの組み方とその動作くらいだ
164: 10/18(土)14:43 AAS
いや、けしてコンピュータ界隈て言われる低レベルとは異なるな
どのような順序で走査、条件抽出、ソートされるかという、割と高レベルな知識だ
165: 10/18(土)16:50 AAS
ぼくはばかじゃない
166: 10/19(日)16:19 AAS
>>163
SQLは指示を書くが、その指示の仕方が簡単ではない。
どう処理されるのかイメージできていないと指示するSQLを書くことが難しくなる。
167: d(u _ ・y) r~ 10/19(日)17:05 AAS
d(u _ ・y) r~ 急募 話がつうじねえ人の対処方法
168: 10/19(日)17:23 AAS
◯す
169: 10/21(火)19:02 AAS
やっぱり今はほとんどポスグレ?
auroraのおかげで移行のメリットデカくなったよね
170: 10/23(木)00:34 AAS
GCPもAzureも未だにマネージドDBでオラクル提供してなかったりする
オラクル使ってるとなるとクソ高いRDSかOCI(笑)かオンプレ(笑)ってことになる
171: 10/23(木)13:17 AAS
競合他社のRDBを提供するわけなかろう
172: 10/26(日)21:50 AAS
クラウド使ったことないなら無理に口出さなくていいのでは
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s