SQLite - 重複の除去(DISTINCT)
指定したカラムで重複ているものを除去して出力する
sqlite> select * from AAA; tt ii rr ---------- ---------- ---------- aaa 1 1.0 aaa 1 2.0 aaa 2 3.0 aaa 2 4.0 sqlite> select distinct tt from AAA; tt ---------- aaa sqlite> select distinct tt,ii from AAA; tt ii ---------- ---------- aaa 1 aaa 2 sqlite> select distinct tt,ii,rr from AAA; tt ii rr ---------- ---------- ---------- aaa 1 1.0 aaa 1 2.0 aaa 2 3.0 aaa 2 4.0
SQLite - 出力レコード数の制限(LIMIT, OFFSET)
LIMIT句で出力するレコード数を、OFFSET句で最初からスキップするレコード数を指定する。
sqlite> select * from AAA; tt rr ---------- ---------- aaa 8.0 bbb 7.0 ccc 6.0 ddd 5.0 aaa 4.0 bbb 3.0 ccc 2.0 ddd 1.0 sqlite> select * from AAA limit 1; tt rr ---------- ---------- aaa 8.0 sqlite> select * from AAA limit 3 offset 2; tt rr ---------- ---------- ccc 6.0 ddd 5.0 aaa 4.0 sqlite> select * from AAA order by rr limit 3 offset 2; tt rr ---------- ---------- bbb 3.0 aaa 4.0 ddd 5.0
SQLite - 出力のソート(ORDER BY)
指定したカラムを昇順(ASC,省略可)または降順(DESC)でソートして出力する。
sqlite> select * from AAA; tt rr ---------- ---------- aaa 8.0 bbb 7.0 ccc 6.0 ddd 5.0 aaa 4.0 bbb 3.0 ccc 2.0 ddd 1.0 sqlite> select * from AAA order by tt asc, rr desc; tt rr ---------- ---------- aaa 8.0 aaa 4.0 bbb 7.0 bbb 3.0 ccc 6.0 ccc 2.0 ddd 5.0 ddd 1.0 sqlite> select * from AAA order by rr, tt desc; tt rr ---------- ---------- ddd 1.0 ccc 2.0 bbb 3.0 aaa 4.0 ddd 5.0 ccc 6.0 bbb 7.0 aaa 8.0
SQLite - カラム方向の結合(JOIN)
2つのテーブルの指定したカラムで結合することで2つのテーブルをカラム方向に広げたひとつのテーブルとして扱う
sqlite> select * from AAA; tt ii ---------- ---------- aaa 1 bbb 2 ccc 3 ddd 4 sqlite> select * from BBB; ii rr ---------- ---------- 1 1.0 2 2.0 3 3.0 5 5.0
INNNER JOINまたはOUTER JOINにより、tt, ii, rrというカラムを持つひとつのテーブルに結合される。
内部結合(INNER JOIN)
SQLite - 集計関数
sqlite> select * from AAA; ii tt rr ---------- ---------- ---------- 1 aaa 1.0 2 bbb 2.0 3 ccc 3.0 ddd 4.0 5 eee
SUMとTOTAL
SQLite - WHERE句
sqlite> select * from AAA; ii tt ---------- ---------- 1 aaa bbb 3 ccc 4 5 ddd 6 eee fff 8 9 ggg