データ表示
■ORDER BY句
ORDER BY句の後にソートを行う対象のカラム名とソートを昇順/降順のどちらで行うのかを指定します。昇順の場合は「ASC」、降順の場合は「DESC」を指定します。
sqlite> select * from user order by old asc;
昇順
mifune|18|Kanagawa
nishi|20|Osaka
satoh|21|Tokyo
hasegawa|23|Tokyo
furuta|24|Tokyo
hamada|25|kanagawa
yamashita|26|Tokyo
sqlite>
降順
select * from user order by old desc;
yamashita|26|Tokyo
hamada|25|kanagawa
furuta|24|Tokyo
hasegawa|23|Tokyo
satoh|21|Tokyo
nishi|20|Osaka
mifune|18|Kanagawa
■BETWEEN句
範囲を指定してリストアップする
sqlite> select * from user where old between 21 and 26;
yamashita|26|Tokyo
satoh|21|Tokyo
furuta|24|Tokyo
hamada|25|kanagawa
hasegawa|23|Tokyo
sqlite>
■IN句
条件に一致する値のリストアップを指定する
sqlite> select * from user where address in('Tokyo');
yamashita|26|Tokyo
satoh|21|Tokyo
furuta|24|Tokyo
hasegawa|23|Tokyo
sqlite>
新しいテーブルwestareaを作成
sqlite> create table westarea(id integer, pref text);
テーブルwestareaのデータを参考にリストアップ
sqlite> select * from user where address in(select pref from westarea);
yamashita|26|Tokyo
satoh|21|Tokyo
furuta|24|Tokyo
hamada|25|kanagawa
hasegawa|23|Tokyo
sqlite>
notを使用することで値のリストと一致しないデータをリストアップ
sqlite> select * from user where address not in(select pref from westarea);
mifune|18|Kanagawa
nishi|20|Osaka
sqlite>
■LIKE句
条件式の中でカラムの値を文字列と一致するかどうか比較する場合、'%'と'_'の2つの特殊文字を使ったパターンマッチングを行う
SELECT カラム名 , ... FROM テーブル名 WHERE カラム LIKE パターン;
sqlite> select * from user;
yamashita|26|Tokyo
mifune|18|Kanagawa
satoh|21|Tokyo
furuta|24|Tokyo
hamada|25|kanagawa
nishi|20|Osaka
hasegawa|23|Tokyo
sqlite> select * from user where address like 'T%';
yamashita|26|Tokyo
satoh|21|Tokyo
furuta|24|Tokyo
hasegawa|23|Tokyo
■GLOB句
条件式の中でカラムの値を文字列と一致するかどうか比較する場合
sqlite> select * from user where name glob 'sa*';
satoh|21|Tokyo
sqlite>
GLOB句の中で'*'、'?'、'['、']'の4つの文字は特別な意味を持ちますが、特殊な文字ではなく文字の一つとしてこの4つの文字を使用したい場合にはエスケープ処理をする必要があります。
■IS NULL句
条件式の中でカラムに含まれる値がnullかどうかを調べたい場合
sqlite> select * from user ;
yamashita|26|Tokyo
mifune|18|Kanagawa
satoh|21|Tokyo
furuta|24|Tokyo
hamada|25|kanagawa
nishi|20|Osaka
hasegawa|23|Tokyo
nakano|35|
kahara|23|
sqlite> select * from user where address is null;
nakano|35|
kahara|23|
sqlite>