メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter
  
現: 2018-05-25 (金) 21:47:43 takatsuka ソース
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 の開発者様に感謝です。
  

  • 技術系備忘録/データベース/SQLite/WHERE IN で複数指定するクエリ のバックアップ差分(No. All)

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 349, today: 3, yesterday: 1