X



トップページDB@2ch掲示板
1002コメント330KB
SQL質疑応答スレ 17問目 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2016/07/10(日) 22:29:01.40ID:???
このスレは
「こういうことをやりたいんだけどSQLでどう書くの?」
「こういうSQLを書いたんだけどうまく動きません><」
などの質問を受け付けるスレです。

SQLという言語はISOによって標準化されていますが
この標準を100%実装したDBMSは存在せず、
また、DBMSによっては標準でない独自の構文が
追加されていることもあります。

質問するときはDBMS名を必ず付記してください。

【質問テンプレ】
・DBMS名とバージョン
・テーブルデータ
・欲しい結果
・説明

前スレ:
SQL質疑応答スレ 16問目
http://echo.2ch.net/test/read.cgi/db/1447160858/
0031NAME IS NULL
垢版 |
2016/07/16(土) 17:02:32.57ID:IKSp3mrg
>>30
どこが間違っているのか教えてください。
0032NAME IS NULL
垢版 |
2016/07/16(土) 17:08:06.50ID:IKSp3mrg
↓これ何?

26 NAME IS NULL 2016/07/15(金) 18:52:57.55 ID:OwU9VU0D
答えたい気持ちは分かるがお前ら7000円をどうやって分けるつもりなの?
そういう事は最初にキッチリ決めとかないと後々遺恨を残すぜ
0033NAME IS NULL
垢版 |
2016/07/17(日) 21:52:20.05ID:N1m3wNQ4
すみません、以下、質問させてください。

親テーブルAに対して子テーブルBとCがあり、
レコード数がそれぞれ、
A:B = 1:5、A:C = 1:20 の関係です。

この時、A1レコードに対して、
Aに紐付くBとCのレコード全てを最小のIO回数・データ量で取得したいです。

普通にA、B、Cを結合しただけでは
B×Cの組み合わせまで取得してしまい上手く取得できませんでした。
A:B、A:Cと別々に結合して取得するしかないのでしょうか。
DBはOracleです、よろしくお願いします。
0034NAME IS NULL
垢版 |
2016/07/17(日) 22:41:52.05ID:2o6ZRKeT
>>33
リレーションの説明がありませんので、答えようがありません。
0035NAME IS NULL
垢版 |
2016/07/17(日) 22:58:48.06ID:???
B×Cの中から自分が欲しいものを条件で絞り込むんだよ。その条件が無いから全部出てくる。
0036NAME IS NULL
垢版 |
2016/07/17(日) 23:00:32.84ID:N1m3wNQ4
>>34
下のような感じです。
AとB、AとCが主キー項目aでそれぞれ1:5、1:20で紐付きます。

Aテーブル
a C(5)


Bテーブル
a C(5)
b C(5)


Cテーブル
a C(5)
c C(5)
0037NAME IS NULL
垢版 |
2016/07/17(日) 23:02:11.09ID:fmLQHPFo
おもしろい展開w
0038NAME IS NULL
垢版 |
2016/07/17(日) 23:41:31.84ID:???
質問がいまいち理解できん
そもそもIOとか、SQL書いたとおりに実行されるわけじゃないんだが

ほしい結果がABとACの二つあるなら、2回やるしかないわけだが、どんな結果を望んでるんだ
0039NAME IS NULL
垢版 |
2016/07/18(月) 00:53:22.27ID:EKBnHgrJ
>>38
俺もI/Oについては突っ込みたかったが、そもそもRDBの理論、概念を否定する内容だからスルーしたw
0040NAME IS NULL
垢版 |
2016/07/18(月) 00:55:52.42ID:EKBnHgrJ
>>36
その"C(5)"って何?

データ型?
0041NAME IS NULL
垢版 |
2016/07/18(月) 01:03:46.13ID:EKBnHgrJ
>>36
その3つのテーブルをaという列だけで結合すればいい話なのかな?

Aテーブルの1レコードに対して20レコードがセットになればいいの?
0042NAME IS NULL
垢版 |
2016/07/18(月) 01:12:13.04ID:EKBnHgrJ
BテーブルとCテーブルにリレーション、関連性があるのかないのかはっきりしてくれ。

AテーブルのとあるレコードはBテーブルに子レコードがあり、Aテーブルの別の種類のレコードはCテーブルに子レコードがあるようにも解釈できる。

どっちなの?
0043NAME IS NULL
垢版 |
2016/07/18(月) 01:17:58.22ID:???
unionの話じゃないのかい
0044NAME IS NULL
垢版 |
2016/07/18(月) 03:30:28.74ID:Dk5LLrvU
>>39
RDBの理論が分かってないのはお前な
0045NAME IS NULL
垢版 |
2016/07/18(月) 06:25:57.47ID:EKBnHgrJ
>>44
それはRDBMSのことであって特定の製品を指しているわけでもない。
0046NAME IS NULL
垢版 |
2016/07/18(月) 08:25:50.10ID:Dk5LLrvU
>>45
ワケ分からん事言ってないで必死でググって顔真っ赤にして感謝しろよw
今頃もう真っ赤っ赤かなw
0047NAME IS NULL
垢版 |
2016/07/19(火) 00:50:27.43ID:yVILcX3x
RDBMSはSQLの処理の方法にRDBMSに任せるのがRDBなんだよ。

どう処理するかの手続きを指定するのはするのはRDBではない。
0048NAME IS NULL
垢版 |
2016/07/19(火) 03:30:05.15ID:???
とりあえず書き込む前に書こうまず読み直してとりあえず書こう
0049NAME IS NULL
垢版 |
2016/07/19(火) 04:19:10.59ID:???
慌てないで、落ち着いて
0050NAME IS NULL
垢版 |
2016/07/20(水) 11:14:56.42ID:89VCRaWj
【BS11:エンターテイメント】 <関根勤 KADENの深い夜>放送時間:毎週木曜日 よる11時00分〜11時30分 #bs11 http://www.bs11.jp/entertainment/5749/
0052NAME IS NULL
垢版 |
2016/07/27(水) 21:37:51.21ID:OesecO5v
ジョインで連結しまくったクエリに
ORDER BY で並び替えかけると
えらい遅くなるのですが
改善する方法はないのでしょうか?
0053NAME IS NULL
垢版 |
2016/07/27(水) 21:48:05.62ID:???
ジョインしたかどうかとソートの速度に関係はない
ソートのキーとなる列にインデックスを張っておけばソートが不要になる場合がある
ソートキーが複数のテーブルに跨るとすると話は面倒臭い
VIEWにインデックスを張れるDBMSならそれで解決するのも手
0055NAME IS NULL
垢版 |
2016/07/27(水) 22:33:44.35ID:OesecO5v
>>53
インデックスの貼り方がわるいのか
リレーションに関するカラムを中心に
インデックスはっても遅いんです。
特に GROUP BY と ORDER BY の組みあわせ
0056NAME IS NULL
垢版 |
2016/07/27(水) 22:52:26.24ID:???
GROUP BYもあるならmaterialized viewにしてインデックス張るしかないかな
メモリをひたすら積んでメモリソートでごり押しという手もあるが
0057NAME IS NULL
垢版 |
2016/07/27(水) 23:13:51.10ID:???
テーブルレイアウトと実行してるSQL全部書けば
ある程度汎用的なインデックスのアドバイスができるかもしれんが

まあとりあえず実行計画確認しろ
0058NAME IS NULL
垢版 |
2016/07/27(水) 23:27:08.61ID:???
【質問テンプレ】
・DBMS名とバージョン

この辺も書いておくといいぞ
0059NAME IS NULL
垢版 |
2016/07/28(木) 00:48:24.45ID:Pc5r9mq6
テーブルレイアウトって言葉はやめてほしいわ。
0060NAME IS NULL
垢版 |
2016/07/28(木) 10:49:25.87ID:???
うちのダイニングのテーブルの配置はどう言ったらいいでしょうか
0061NAME IS NULL
垢版 |
2016/07/28(木) 14:59:33.90ID:???
 
粗大ゴミの回収に出す
0062NAME IS NULL
垢版 |
2016/07/29(金) 09:54:35.19ID:SbaxQ6kv
MySQL 5.1.73
次のようなカラムの入ったメインテーブルがあるとします。

T1
|MAIN_ID|NAME|AGE|TITLE_1|COMMENT_1|TITLE_2|COMMENT_2|

で、TITLE と COMMENT の部分は
横持ちになってるのでその部分は別テーブルにして

T2
|ID|MAIN_ID|TITLE|COMMENT|

として、縦持ちにしたいとします。

問題は、この2つのテーブルをどうリレーションさせるかです。
例えば 次のようなレコードが入っているものを次のようにリレーションしようとします。

T1
|MAIN_ID|NAME|AGE|
|1    |田中 |24|



T2
|ID|MAIN_ID|TITLE|COMMENT|
|1 |   1|好きな|うな重 |
|2 |   1|趣味 |バイク |
|3 |   1|嫌いな|しいたけ|
|4 |   2|好きな|グラタン|


FROM
 T1
 LEFT JOIN
 T2
 ON
 T1.MAIN_ID = T2.MAIN_ID

で関連付けられ 

|ID|MAIN_ID|NAME|AGE|TITLE|COMMENT|
|1 |1   |田中 |24|好きな|うな重 |
|1 |1   |田中 |24|趣味 |バイク |
|1 |1   |田中 |24|嫌いな|しいたけ|

この例で行くと田中が3つになります。
また、 WHERE でTITLE、COMMENTが検索対象にできるようになります。

10件表示とか リストで出力すると この例では田中が3つでてきてしまうので
GROUP BY で ID をまとめます。 
その際 ORDER BYをかけると 何千件とかになると
パフォーマンスが非常に落ちてしまいます。
※ ORDER BYがなければパフォーマンスはそれほど問題はありません。

パフォーマンスをなるべく落ちないように
縦持ちカラムを組み合わせるにはどうすればいいでしょうか?
0063NAME IS NULL
垢版 |
2016/07/29(金) 10:09:10.29ID:???
それだとGROUP BYよりEXISTSのほうがよくね?

select T1のカラム
from T1
where exists (
  select *
  from T2
  where T1.MAIN_ID = T2.MAIN_ID
  and T2の条件
)
order by T1のカラム
0064NAME IS NULL
垢版 |
2016/07/29(金) 14:04:30.63ID:???
>62
>GROUP BY で ID をまとめます。
それだとIDと1:1に結び付かない項目は全て不定だぞ
つまり結局T1のみselectするのと同じになるわけだが
それならまずはT1のソート項目にインデックス張って見るとか

ああ、またMySqlか
SelectとGruop ByとOrder ByとWhereと全部書いたフルのSQL晒せ
0065NAME IS NULL
垢版 |
2016/07/30(土) 07:56:46.82ID:XyUbordV
ない項目のインデックスはどうやって作るのか
0066NAME IS NULL
垢版 |
2016/07/30(土) 08:19:54.62ID:???
ない項目ってどういう意味だ?
インデックスは項目(の組み合わせ)に対して作るものだぞ
0067NAME IS NULL
垢版 |
2016/07/31(日) 02:18:28.80ID:???
質問です。
学生メール表 学籍番号 氏名 メールアドレス
教員メール表 教員番号 氏名 メールアドレス
補習予定表 教員番号 授業id 日付 連絡事項
授業名表 授業iD 授業名
授業展開表 教員番号 授業id 学籍番号
これで生徒に知らせる時のER図をつくるとき、
いらない情報はどれですか?
学生メール表⇔授業中展開表⇔授業名表⇔補習予定表
0069NAME IS NULL
垢版 |
2016/07/31(日) 12:33:09.87ID:ea2io0T3
>>67
必要最低限にしてもいいけど、実際にはいちいち結合しないと取得できないので重複して持つこともある。
0070NAME IS NULL
垢版 |
2016/07/31(日) 14:20:50.26ID:???
ちなみに>>67はおかしいですか?
先生にしらせるときと生徒に知らせる時でER図を書きなさいって問題なんですが
0071NAME IS NULL
垢版 |
2016/07/31(日) 16:02:20.51ID:???
問題に書いてあることを誤読や読み落とししている気がする。
0072NAME IS NULL
垢版 |
2016/07/31(日) 17:31:55.47ID:???
宿題を堂々とここに書いて教えろと要求かぁ
0073NAME IS NULL
垢版 |
2016/07/31(日) 21:26:13.43ID:???
まずER図書いてみろって話だが

エスパーすると授業展開表.教員番号か補習予定表.教員番号

各テーブルの主キーが不明なんでどっちにしろ正確な答えはだぜんぞ
0074NAME IS NULL
垢版 |
2016/08/08(月) 22:56:12.48ID:???
・DBMS名とバージョン
 SQLServer2014 ent.

・テーブルデータ
 名前 月 欠席日数
 a    1     1
 a    3     1
 b    1     1

・欲しい結果
 名前 月 欠席日数
 a    1     1
 a    2     0
 a    3     1
 b    1     1
 b    2     0
 b    3     0

・説明
 欠けてる月のデータを 0 補完したいと思います。
 「名前」列がなければ例えば下のようなテーブルと外部結合することで解決できるのですが、
 「名前」ごとに「月」と「欠席日数」を補完する方法が分かりません。
 「名前」列を含めて保管用のテーブルを作ることも考えられるのですが、「名前」の数が多い場合に困ります。
 月 欠席日数
 1     0
 2     0
 3     0

お知恵をお貸し下さい。
お願いします。
0075NAME IS NULL
垢版 |
2016/08/08(月) 23:54:36.83ID:???
名前テーブルも作ってそれと外部結合すりゃいいじゃん。
0076NAME IS NULL
垢版 |
2016/08/09(火) 00:00:01.71ID:???
id,name
--------
1,aaa
2,bbb
3,ccc

これにdddを1の下に追加して

id,name
--------
1,aaa
4,ddd
2,bbb
3,ccc

という風に出来るデータベースってありませんか? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0077NAME IS NULL
垢版 |
2016/08/09(火) 01:13:18.45ID:???
表示をその順序にしたいと言うなら、
その順序指定になるカラムを追加したら?
0078NAME IS NULL
垢版 |
2016/08/09(火) 08:40:05.08ID:???
>>76
> これにdddを1の下に追加して

できない
上とか下の概念がないから
0079NAME IS NULL
垢版 |
2016/08/09(火) 09:32:25.91ID:???
mysqlでやってみた

select id , name ,
case name when "aaa" then 1
when "bbb" then 3
when "ddd" then 2
when "ccc" then 4
end as newcol
from hogehoge
order by newcol;

+----+------+---------+
| id | name | newcol |
+----+------+---------+
| 1 | aaa | 1 |
| 4 | ddd | 2 |
| 2 | bbb | 3 |
| 3 | ccc | 4 |
+----+------+---------+

結局は>>77さんの通りにやってるだけだし、件数が多ければやってられんw
0080NAME IS NULL
垢版 |
2016/08/09(火) 10:03:52.74ID:???
select id , name ,
case name
when "aaa" then 1
when "ddd" then 2
else null
end as newcol
from hogehoge
order by newcol is null;
0081NAME IS NULL
垢版 |
2016/08/09(火) 18:34:23.83ID:???
>>74
普通は名前のマスタテーブル用意しとくんじゃね
まあ、なければないで効率とか考えないなら
select distinct 名前 from ...
とかで代用できなくもないけど

>>76
すくなくとも、RDBでそれは基本的な考え方から外れてるから無理

データ補完とか、順序付けされてないデータの順序とか、設計考え直せ
008274
垢版 |
2016/08/09(火) 23:16:58.43ID:???
>>75,81
ありがとう。
75 で言われてハッとして distinct で作った名前の一覧と月の一覧とを掛け合わせて、
これと元のテーブルデータを外部結合して行けました。
0083NAME IS NULL
垢版 |
2016/08/10(水) 16:43:00.43ID:tK4Szt1X
SQLと直接関係ないのですが
お名前.comSDサーバーの データベースって
sshで入って dumpコマンドでエクスポートできないので
バックアップを取ることができないのですが
なにかうまく取る方法ないですか?
0084NAME IS NULL
垢版 |
2016/08/10(水) 16:49:54.18ID:???
>>83
お名前.com sdサーバー データベース バックアップ
でググったらすぐに見つかったが?
0085NAME IS NULL
垢版 |
2016/09/24(土) 02:19:33.28ID:???
○前提
会社id、名前や所在地などが入っている会社テーブルと、
会社id、従業員名、性別などが入っている従業員テーブルがあるとして、
(プログラム側で外部から受け取った)会社idから名前や所在地を得て、かつ、その会社の従業員を列挙表示したい

○質問
こういうとき、DB側、SQL側としては、会社テーブル・従業員テーブルそれぞれ1回ずつ2回SELECT発行するしかないでしょうか
0086NAME IS NULL
垢版 |
2016/09/24(土) 03:18:01.58ID:???
>>85
joinを知らないとか分からないとか、そういうレベル?
とりあえず>>1読んで出直して
0087NAME IS NULL
垢版 |
2016/09/24(土) 03:54:37.97ID:???
>>86
joinすると全レコードに>>85で言う会社テーブルの名前、所在地などが入ってきませんか
返してもらうデータ量よりクエリ発行回数を気にするべきなんでしょうか

また>>85には書いていないことですがjoin対象が複数あったら、など考えるとどう考えたら良いのか
0088NAME IS NULL
垢版 |
2016/09/24(土) 07:52:00.23ID:???
>join対象が複数あったら、

複数joinすれば?
0089NAME IS NULL
垢版 |
2016/09/24(土) 11:06:44.19ID:???
深く考える前にやってみればいいんじゃないかな、とか。
0090NAME IS NULL
垢版 |
2016/09/24(土) 18:45:29.48ID:???
>>87
>データ量よりクエリ発行回数を気にするべきなんでしょうか
そんなもんはケースバイケースだからすきにしろ
もともとクエリ発行回数を問題にしたのはお前だろうが
0091NAME IS NULL
垢版 |
2016/09/24(土) 21:03:47.14ID:???
>>85
その前提なら
> 会社テーブル・従業員テーブルそれぞれ1回ずつ2回SELECT発行する
でいいと思う
0092NAME IS NULL
垢版 |
2016/09/24(土) 21:21:17.59ID:???
いや、1回SELECT発行がいいと思う
0093NAME IS NULL
垢版 |
2016/09/24(土) 21:23:50.81ID:dG2/rE9U
この場合それぞれ2回ずつSELECTが正解じゃね?
0094NAME IS NULL
垢版 |
2016/09/25(日) 07:15:27.74ID:???
従業員に付与される会社情報の多さが気になるなら2回でいいんじゃね
というか自分も2回だね
0096NAME IS NULL
垢版 |
2016/09/25(日) 09:14:27.33ID:???
>>85
〇足りない情報
どんなときに使う処理か(バッチ?それともユーザー操作に対する応答?)
出力はどのような形式か(画面表示?CSVファイル?)
データベースを配置しているサーバーと出力を得るクライアントの構成は?(例:PostgreSQLto
Apacheが同じサーバーにあり、クライアントはWEB表示で結果を得る。サーバーはAWSに配置しており、ネットワークの転送速度は毎秒1MBr程度が期待できる)
レコードは何件あるのか。レコードあたりの容量は?要求されるレスポンスは?(1秒以内に出力完了など)。
0097NAME IS NULL
垢版 |
2016/09/25(日) 09:19:53.92ID:???
転送速度が極端に遅い場合はローカルにデータベースをもってジョインするのも選択肢としてあり得なくもないが(2層方式も含めて検討だろう)
それだったら出力結果を圧縮して転送だろうな
HTTPで出力する場合は例えばgzip圧縮すりゃ設定いじる程度の工数で済むしな
0098NAME IS NULL
垢版 |
2016/09/25(日) 10:29:39.14ID:???
富豪アプローチで毎回取得&キャッシュでええやん。
0099NAME IS NULL
垢版 |
2016/09/25(日) 10:40:03.14ID:???
時間も掛かるし負荷も高いんじゃない?
0100NAME IS NULL
垢版 |
2016/09/25(日) 16:03:47.98ID:???
月額2000円くらいの予算でvps借りるとしてmysqlで最大どれくらいのトランザクションを捌けるもんなの?
0101NAME IS NULL
垢版 |
2016/09/25(日) 16:07:28.77ID:???
要件定義してあげるスレが必要
0102NAME IS NULL
垢版 |
2016/09/30(金) 00:05:15.58ID:???
どこで質問したらわからないんですが総合スレってありませんかね?
0104NAME IS NULL
垢版 |
2016/11/09(水) 18:56:03.76ID:AtwDWs/+
Mysql で 出力データーを
20.00 → 20
21.40 → 21.4
23.05 → 23.05
20.10 → 20.1
みたいに少数以下の語尾のゼロを取ることをMySQL内ですることはできないでしょうか?
0105NAME IS NULL
垢版 |
2016/11/09(水) 19:00:44.82ID:???
普通付かないだろ
元の値は文字列なのか?
0106NAME IS NULL
垢版 |
2016/11/09(水) 19:05:31.21ID:AtwDWs/+
>>105
decimal です。
0108NAME IS NULL
垢版 |
2016/11/14(月) 22:17:52.79ID:bmYVZ934
truncとかfloorとか
文字ならsubstrみたいなやつで
0109NAME IS NULL
垢版 |
2016/11/18(金) 01:26:39.84ID:???
アドバイスをいただきたく
CFINFOテーブルのカラムが全てcharでvarcharに変更したい場合のSQLです。
数十件のデータではテストしてOKでしたが、大量のデータだと問題でそうですかね?

alter table CFINFO modify (
CF_GROUP VARCHAR2(10),
CF_NAME VARCHAR2(30),
CF_ID VARCHAR2(50),
CF_PSWD VARCHAR2(50)
)
/
update CFINFO d
set (d.CF_GROUP,d.CF_NAME,d.CF_ID,d.CF_PSWD)
= (
select trim(CF_GROUP),trim(CF_NAME),trim(CF_ID),trim(CF_PSWD)
from CFINFO m
where d.CF_NO = m.CF_NO
)
/
0110NAME IS NULL
垢版 |
2016/11/21(月) 06:49:29.05ID:sXX+G/pS
>>109
/があるあたりでOracleだと思うが、なんで並列処理化するとか考えないの?
0111NAME IS NULL
垢版 |
2016/11/21(月) 11:05:47.74ID:???
というか、ふつうにhoge=trim(hoge)で良い気がするんだが
なんで自己結合する必要があるんだ
0112NAME IS NULL
垢版 |
2016/11/21(月) 11:19:03.28ID:???
それか元のテーブルをRENAMEして
新しいテーブルにINSERT SELECTしたら?
表領域足りんのか
0113NAME IS NULL
垢版 |
2016/11/21(月) 18:31:53.36ID:CmVzeDRz
mysqlの質問です

[2016-11-21 18:20:12]のような[yyyy-mm-dd HH:mi:ss]の形の値を持つdatetime型のフィールド、recordがあるのですが、
ここから2016年10月1日〜2016年10月31日の期間の9:00〜12:00のレコードのみを抽出するにはどのような命令を書けば良いでしょうか?
日付のみなら

SELECT * FROM t_open WHERE record BETWEEN '2016-06-01' AND '2016-07-01';

という簡単な形で出せたのですが、時刻を指定する方法が分からず詰まっています。
0114NAME IS NULL
垢版 |
2016/11/21(月) 18:43:05.79ID:???
>>113
and date_format(record, '%H:%i') between '09:00' and '12:00'
0115NAME IS NULL
垢版 |
2016/11/21(月) 19:36:05.17ID:???
>>114
できました!ありがとうございます!
date_format関数について勉強しておきます
0116NAME IS NULL
垢版 |
2016/11/22(火) 17:17:14.56ID:???
>>114
こう言うのがササっと書けるようになるには何年くらいのSQL修行が必要ですか?
0117NAME IS NULL
垢版 |
2016/11/22(火) 18:14:09.68ID:???
>>116
> こう言うのがササっと書けるようになるには何年くらいのSQL修行が必要ですか?
本読まないでしょ。
初心者でも入門書を2,3冊こなせば書けると思うよ。
0118NAME IS NULL
垢版 |
2016/11/22(火) 18:28:47.65ID:???
短いやつをちょっとずつ書けば慣れるけど
MySQLの方言だからねえ、、、
0119NAME IS NULL
垢版 |
2016/11/22(火) 19:27:21.14ID:sjSydgSv
確かにここのレスを見ただけだとササっと書いてるように思うのも仕方がないだろう
だけど……裏では必死でググってんだぜオレたち 👀
Rock54: Caution(BBR-MD5:8368d31ad5c810f9ab23ea9fefa156d2)
0120NAME IS NULL
垢版 |
2016/11/22(火) 20:04:48.97ID:???
>>117
入門書を二冊も読んだら上級者でしょ?
それもかなり上のクラスの
0121NAME IS NULL
垢版 |
2016/11/24(木) 15:48:27.14ID:???
sql初心者で2、3行程度の簡単なsqlしか実行した事がないんですが、世の中では何百行、何千行のsqlを実行する事もありますか?
0123NAME IS NULL
垢版 |
2016/11/24(木) 16:40:02.92ID:???
100行程度なら描いたことがある
メンテナンス性を考えると
あまり長くしないようがいいように思う
0124NAME IS NULL
垢版 |
2016/11/24(木) 16:49:13.99ID:???
>>122
相対的には上級者になるのかもねw
絶対的にはもちろん違うけど
0125NAME IS NULL
垢版 |
2016/11/24(木) 17:00:52.88ID:???
>>124
自分がかなり上のクラスの上級者であると自己判定していて、自分のクラスになるには入門書2冊が必要だった、ということかも
0126NAME IS NULL
垢版 |
2016/11/24(木) 17:17:01.99ID:???
入門書を何冊読んでも入門書レベルの知識しかつかないという、ごくあたりまえの話
0127NAME IS NULL
垢版 |
2016/11/24(木) 20:22:40.50ID:???
>>121
そんな複雑なやつを書く前にストアドとかビューを組み合わせるとかを検討する
そんなの書いたら検証がえらいことになる
0128NAME IS NULL
垢版 |
2016/11/24(木) 21:42:31.35ID:???
聞いた話でそれを見たことはないけど、1000行くらいのが出来上がったとかなんとか。
見たくもない(ある証券系のシステムでのお話)
0129NAME IS NULL
垢版 |
2016/11/25(金) 19:24:44.86ID:???
問い合わせ文じゃなくて、ややこしいストアド書くなら数百は余裕であり得るだろうけど
0130NAME IS NULL
垢版 |
2016/11/25(金) 21:18:31.44ID:???
行が増えざるを得ない状況がストアド開発には多すぎるからなぁ
つまり複雑度はなぜ行が多いのか次第
■ このスレッドは過去ログ倉庫に格納されています

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