SQLなら俺に訊け [無断転載禁止]©2ch.net (457レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
73(1): デフォルトの名無しさん [] 2018/11/27(火) 18:25:45.02 ID:2K5MWtLk(1/3) AAS
他人が書いたSQLでこんなのや
select T1.*
from T1 left outer join ON T1.aaa = T2.aaa
こんなのがあるんだけど
select X2.*
from X1 left outer join ON X1.aaa = X2.aaa
外部結合してるのに片方のテーブルのフィールドしか抽出してない
SQLが散見してるんだけどこれって全く外部結合する意味ないよな
意味不明すぎてイラッとしてきた
160(1): デフォルトの名無しさん [sage] 2021/12/24(金) 21:37:57.02 ID:cMhJNtck(2/2) AAS
>>157157(1): デフォルトの名無しさん [sage] 2021/12/24(金) 19:31:42.64 ID:unjC7EWw(2/5) AAS
お早い回答ありがとう。
もっと色々試すが取り急ぎ。
新案1:
SELECT CASE WHEN col0 LIKE 'str' THEN 0 WHEN col1 LIKE 'str' THEN 1 ELSE -1 END AS col,target FROM sometable WHERE col>=0;
explainでは32、他だと文法エラーらしいがSQLiteだと通る。(参考 外部リンク:rainbow-engine.com
explain query plan では
0|0|0|SCAN TABLE tags_bulk VIRTUAL TABLE INDEX 0:
新案2:
SELECT col,target FROM (SELECT CASE WHEN col0 LIKE 'str' THEN 0 WHEN col1 LIKE 'str' THEN 1 ELSE -1 END AS col,* FROM sometable) WHERE col>=0;
他ではこう書けと言われているもの。
explainでは32で、見た目中身も同じ。explain query plan も全く同じ。
その案はどちらもテーブルスキャンになってインデックス使わない
SELECT句のCASE式とは別にWHERE句に本来の条件を書く
DB構造の話はカラムとして持つべきデータじゃなくて
子テーブルの行として持つべきデータかと思ったんだけど
全文検索でいずれかのカラムに検索キーワードが含まれてる行を
どのカラムかという情報も含めて抽出する用途なんであれば
そのままでいいんじゃないかと思う
179: デフォルトの名無しさん [sage] 2022/06/17(金) 01:53:08.02 ID:qX3KJPna(1) AAS
>>178178(1): デフォルトの名無しさん [] 2022/06/15(水) 20:45:45.59 ID:W3daPLoz(1) AAS
一つのテーブルに対して、複数のクエリ(参照、更新)が同時に投げられても、テーブルロックされない限り並行して動くものなの?
ロックはテーブルロックだけじゃないし
同時実行できるかはハードやDBMSの機能によるんだが
まあ基本的には複数のコネクションのクエリは並列して動くと考えていいんじゃね
249(2): デフォルトの名無しさん [sage] 2024/04/15(月) 01:05:12.02 ID:3rGFgNqt(1) AAS
入門レベルです
環境はsqliteをsqlite3 CLIを通して使ってます
expr(式)を評価して簡易に値を確かめる方法はあったりしませんかね?
目的は学習目的の挙動把握実験と切り分けデバッグです、例えば'foo' LIKE 'f_%'とかそんなやつを試したい
sqlで実行できるのはstmt(文)のみなので、今のところexprを受け付ける何らかのstmt(文)に組み込み、その結果から値を間接的に類推してます
類推するにせよ、そもそもstmt毎に固有の意味論があるゆえ、一貫した振る舞いも得られず
なかなかしんどいです…
それっぽいCLIコマンドの.printも、シグネチャが.print STRING+なのでexpr評価がされませんし
371: デフォルトの名無しさん [sage] 2025/01/09(木) 00:01:55.02 ID:8WDo/TAk(1) AAS
サブクエリは普通に使うだろ
379: デフォルトの名無しさん [sage] 2025/01/19(日) 16:20:11.02 ID:MoFiVYUu(1) AAS
そこはSQLを複数回に分割して発行するかどうかよりも上位のレベルで
トランザクションや同時実行制御の観点から設計しておくべき事項
担保する必要性の有無は分割しようがしまいが変わらない
412: デフォルトの名無しさん [sage] 2025/01/22(水) 13:23:48.02 ID:0peR6PAs(1) AAS
どんなにアスペな言い訳しようが君がバカだという事実に変わりはないよ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.033s