メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter

SQLite3 で WHERE ・・・ IN ・・・ で簡素に複数を指定するクエリです。

  • table
    abc
    123
    456
    789

こんな table を例にすると

SELECT * FROM table WHERE ( a, b, c ) IN ( VALUES (0,1,2), (1,2,3), (2,3,4) )

こんな風に書けます。
一見するとよくある書き方ですが、MySQL とかとは IN の書き方が少々違うため忘れそうってことで備忘録として。

なお、こういう書き方は以前は出来なかったような気がするので、多分、最近の SQLite3 でサポートされるようになったんだと思います。

以前は、これでもか!って感じに、

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 の開発者様に感謝です。


Front page   Freeze 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: 786, today: 2, yesterday: 1
Princeps date: 2018-05-25 (Fri) 21:47:43
Last-modified: 2018-05-25 (Fri) 21:47:43 (JST) (562d) by takatsuka