SQLiteは軽量で使いやすいデータベースとして、アプリ開発やデータ管理の現場で幅広く利用されています。特に学習用としても適しており、SQLの基本操作を理解するにはもってこいのツールです。
この記事では、SQLiteを使ってデータを取得する基本的なSELECT文の使い方、条件を指定するWHERE句、結果を並び替えるORDER BY句、重複を除くDISTINCT句の使い方を初心者向けにわかりやすく解説します。
これからSQLiteやSQLの基礎を学びたいという方におすすめの内容です。
データを取得する基本:SELECT文の使い方
SQLiteで最もよく使うコマンドのひとつがSELECT文です。データベースから情報を取り出す際に使います。
基本形
SELECT 列名 FROM テーブル名;
例えば、usersというテーブルからname列のデータを取得したい場合は、以下のように記述します。
SELECT name FROM users;
テーブルにあるすべての列を取得したい場合は、*(アスタリスク)を使います。
SELECT * FROM users;
このように、SELECT文は非常にシンプルで直感的な構文ですが、非常に強力です。基本をしっかり押さえることで、より複雑なクエリにも対応できるようになります。
条件による絞り込み:WHERE句の使い方
大量のデータから必要な情報だけを取り出すには、WHERE句を使って条件を指定するのが基本です。
基本形
SELECT 列名 FROM テーブル名 WHERE 条件;
たとえば、ageが30以上のユーザーを取得したい場合は以下のように書きます。
SELECT * FROM users WHERE age >= 30;
条件には以下のような演算子が使えます。
=(等しい)!=(等しくない)>(より大きい)<(より小さい)>=(以上)<=(以下)
また、文字列の検索や部分一致にはLIKEが便利です。
SELECT * FROM users WHERE name LIKE '田中%';
この例では、名前が「田中」で始まるユーザーを抽出しています。
複数の条件を組み合わせることも可能です。
SELECT * FROM users WHERE age > 25 AND city = '東京';
ANDやORを使えば、柔軟な条件設定ができます。
並び替え:ORDER BY句の使い方
取得したデータを見やすく整えるためには、ORDER BY句を使って並び替えを行います。
基本形
SELECT 列名 FROM テーブル名 ORDER BY 並び替え対象列 [ASC|DESC];
ASC:昇順(小さいものから大きいものへ)DESC:降順(大きいものから小さいものへ)
例:
SELECT * FROM users ORDER BY age ASC;
このクエリは、usersテーブルを年齢の昇順に並び替えて表示します。
降順で表示したい場合は次のようにします。
SELECT * FROM users ORDER BY age DESC;
並び替えの対象は複数指定することも可能です。
SELECT * FROM users ORDER BY city ASC, age DESC;
この例では、まず都市名で昇順に並び替え、その中で年齢が高い順に並びます。
重複の排除:DISTINCTの使い方
ある列に重複するデータが含まれている場合、それらを1つだけにまとめて表示したいときに便利なのがDISTINCTです。
基本形
SELECT DISTINCT 列名 FROM テーブル名;
例えば、usersテーブルの中から、重複しない都市名だけを取り出す場合は次のようにします。
SELECT DISTINCT city FROM users;
DISTINCTを使うと、同じ都市に住んでいるユーザーが複数いても、都市名は1回しか表示されません。
複数列を指定することもできます。
SELECT DISTINCT city, age FROM users;
この場合、cityとageの組み合わせが完全に同じものが重複と判断されます。
実践例:SELECT、WHERE、ORDER BY、DISTINCTを組み合わせる
SQLiteの真価は、これらの構文を組み合わせて使うことにあります。以下は、実践的なクエリの例です。
SELECT DISTINCT name FROM users WHERE age >= 30 ORDER BY name ASC;
このクエリでは、
- 30歳以上のユーザーの中から、
- 名前の重複を排除し、
- 名前の昇順で並び替えて
表示しています。基本的な構文を理解していれば、このような複雑な処理も簡単に書けるようになります。
まとめ
SQLiteにおけるデータ取得の基本であるSELECT文、条件による絞り込みのWHERE句、並び替えのORDER BY、重複を取り除くDISTINCTは、どれもデータベース操作に欠かせない機能です。
それぞれの構文をマスターすれば、実務でも役立つデータベースのスキルを身につけることができます。
今後は、JOINやGROUP BYといったさらに応用的なSQL構文に進んでいくことで、より複雑なデータ分析や処理にも対応できるようになるでしょう。
まずは、この記事で紹介した基本をしっかり使いこなして、SQLiteの操作に自信をつけていきましょう。
