SQLだけ苦手
業務でSQLを扱っているけどいまいち理解できないです。
INNER JOIN?何が「内側」なのか理解できない
LEFT OUTER JOIN?はぁ?何を基準に「左」なんだ?しかも「外側」・・・
抽出条件がWHEREだと?条件はIFかWHENだろうが!
直積とデカルト積の違いは?要するに「総当たり」なの?
こんな調子で業務に支障が出始めてます。
どうしたら理解できる? むしろ、SQLしか理解出来ないSIerは多いし、あんまり理解出来てもいない。 1個のSQL文が数百行とかあってそれをメンテしてる
正直気持ち悪い
SQLを関数やメソッドのように考えてはいけないんだろうね。 あったなぁ
クリスタルレポート使ってるとそんな感じになる INNER JOINは使わないほうがいい。
エビデンス作業をホカの人に回せなくなるぞ。 >>1
一度DBエンジンを実装してみたらよくわかるようになる >>1
頭悪いくせに理屈っぽそうだなw
ミック本読め ほんとうに難しいのはSQLそのものよりビジネスロジックだと思う とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
VQI8B 良く出来るプログラマーほど苦手らしい
しかし大量のデータを扱ったり、インポートエクスポートやったりすると、なんかDBの良さが見えて来る。自分で検索アルゴリズム作ったりするよりも速いし、そういうの見せられると自然と改宗する。 >>18
業務SEはDB好きなんだけど、オープンソースで発言力大きそうな人はDBエンジンがブラックボックスなのと、使い道が理解出来ない世界で生きてる感じがするわ。
KVSでなんとかなると言い切る プログラマでもなぜかSQLになると平気で明らかに重たい処理をデータベースに要求してくる。
どう処理されるのかまったく考えていないのだと思う。 暗号化された文字列でテーブルフルスキャンを何回か行う設計
速度はしらない 手続き型とは考え方が違う
理解出来るまでやるとしか言えん >>1はSQLの払い出し作業だけをやってんのか?プログラマのようには見えんし
数百行のSQLとかなんか俺の昔の職場と被るんだがまさか某携帯会社関連じゃないよな? >>20
チューニング出来る奴ならフルスキャンは不味いと考えるが、件数はどうでもよく動いて納品出来たらあとシラネが普通だよ >>23
高速化のためにJRの改札もそんなんだっけ 今からでもSQLの文法変えてほしい
SELECTが射影でWhereが選択
SELECT前にあってWhereがSELECT前のグループにかかる
きがくるっとんのか 自分でコンバータ作ればいいだけ。
セキュリティの観点からソースいじってsqlの文法変えるのはアリとは思うけど、使いづらいってのは経験不足なだけ コンバーターのぶん処理が余計になるし
メンテでそこ疑わなきゃいけいないし
引継ぎ者が誰も知らない文法覚えないといけないし
選択枝としてありえない
標準化委員会が新しいまともな文法のSQL作って敷衍するべき >>29
動的SQLという言葉は分かります?
大きなプロジェクトだとそういうの許されないんだけど。
LAMPの人には世界が違い過ぎるか それでどう解決するのかわからんし
そんな単語ごときで何で変にあおられてるのか FROM
WHERE
SELECT
の順なのに、これを変えろと言うならANSIに言ってくれ。 お前と俺違う世界線の人間なのか
俺の世界じゃSELECTが先に来てたような気がするんだが >>32
クズみたいなツール有難がって使うような奴は巨大クソのメンテでもしてろ >>36
あのさ
お前が好きな文法でSQLもどきを作るだろ、コンバータにかけるだろ、それを本番のソースに埋め込めよって書いただけだぞ
セキュリティの面やチューニングは別人の専門家がやるという面からも、プログラム動作中に文字列を連結させてSQLを組み立てるはSQLをコンパイルする時間もかかるし禁止されてるプロジェクトもあるんだよってこと
万人月のプロジェクトの経験が無いと意味不明なのはわかるけど文句言うのはおよしなさいよ >>37
正直どうでも良いし絡んでも仕方ないんだけど
大手様謹製のクソツールに習熟したって大手のクソ仕事にしか役に立たないでしょ
素人が頑張って作ったようなツールよりも、OSSのプロダクトのほうがちゃんとしてるでしょ
俺は仕事選べるうちは、もうああいうのはやらん
>>38
長いよ 大手様謹製のクソツールって、こいつなんの話をしてんだw そういえば昔 pro*c ってあったな。今もあるのか? >>42
あるよ。C言語をメインに開発しているところでは使われている。ただしPro*Cを使うメリットはほぼない。
C言語しかわからないひとはPro*Cの方がとっつきやすいだけ。 「だけ」というか、なんでSQLを他の言語と混同するのかが解らない。 >>44
DBから任意のデータを抽出するにはSQLを使わざるを得ないでしょ?
嫌ならCSVにでも出力させてから得意な言語で取ったり加工してロードすれば良い。
大量処理の場合、その方が早いこともあるけどな 10行以上のSQLは
見るの疲れるから止めてください! >>46
列ごとに1行で書く奴は確かに困るな。
でも結合やサブクエリを多用すると10行は超えることあるわ。
プログラム側でフェッチして書く方がプログラマは納得いくんだろうけど、そこは改宗したつもりでDBに委ねるのがSIerのプログラマだと思う >>44
Pro*CはOracle Databaseの世界ではSQLの範疇でC言語ではない。 >>47
はあ?いつもどんな単純なことしかしてないのか? SQLの構文は確かに失敗だった。しかしデファクトスタンダードになってしまったのだから仕方ない。
中途半端な英語の指示は日本人より英語圏の人の方が混乱してわかりにくいだろう。
途中まではよかったがSQLを拡張していく過程で開発者が面倒になってわかりづらい構文になってしまった。 初心者プログラマにSQLを使わせないでDB操作をするためのライブラリとかクラスを作れ。
見たいな仕事は結構したよ。
俺が、DB操作のための新たな言語仕様をでっち上げて、それをSQLに変換するみたいな。
結局、SQLを直に書くが一番と分かった。 >>52
既存のORM使えばいいじゃん
なぜそんな仕事を... 文法を統一してくれ。
同じメーカーの製品なのに
accessとsqlserverで違うのが
一番納得できん。 >>54
accessのjetは困るね。
まあ、おもちゃだから仕方がない。
mysqlを自分のpcに入れるしかないわ 煽るなよ。
oracleが正義なのはよく分かるけどさ
ボラクルになってからはもうポスグレかmysqlかsql serverの三択になってるよね。
俺の知識も化石化してる。 Postgressだろ?
今のバージョンは性能いいらしいぞ? oracleってロック制御が
へんと言うか特殊だよな。
見えるのか見えないのか
はっきりしてくれ >>60
そこら辺が病みつきになる理由だよ
ダーティーリードという言葉自体にアレルギー湧いちゃう人にはOracle以外は使えない