メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter
  
Cur: 2018-05-25 (Fri) 21:47:43 takatsuka source
Line 1: Line 1:
 +SQLite3 で WHERE ・・・ IN ・・・ で簡素に複数を指定するクエリです。
 +- table
 +|a|b|c|h
 +|1|2|3|
 +|4|5|6|
 +|7|8|9|
 +
 +こんな table を例にすると
 +
 +#prettify{{
 +SELECT * FROM table WHERE ( a, b, c ) IN ( VALUES (0,1,2), (1,2,3), (2,3,4) )
 +}}
 +こんな風に書けます。
 +一見するとよくある書き方ですが、MySQL とかとは IN の書き方が少々違うため忘れそうってことで備忘録として。
 +
 +なお、こういう書き方は以前は出来なかったような気がするので、多分、最近の SQLite3 でサポートされるようになったんだと思います。
 +
 +以前は、これでもか!って感じに、
 +#prettify{{
 +SELECT * FROM table WHERE ( a=0 AND b=1 AND c=2 ) OR ( a=1 AND b=2 AND c=3 ) OR ( a=2 AND b=3 AND c=4 )
 +}}
 +こんな風に書くしかなかった気がします。この例ではカラム名が1文字だからまだいいですが、けっこうキツイなーと思う次第です。
 +
 +常に改善し続けている SQLite の開発者様に感謝です。
  

  • Backup diff of 技術系備忘録/データベース/SQLite/WHERE IN で複数指定するクエリ(No. All)

Front page   Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 438, today: 1, yesterday: 1