概要 :このチュートリアルでは、SQLite SELECTの使用方法を学習します 単一のテーブルからデータをクエリするステートメント。
SELECT ステートメントは、SQLで最も一般的に使用されるステートメントの1つです。 SQLite SELECT ステートメントは、SELECTのすべての機能を提供します SQL標準のステートメント。
SELECTの簡単な使用法 ステートメント
SELECTを使用できます 次のように簡単な計算を実行するステートメント:
SELECT 1 + 1;Code language: SQL (Structured Query Language) (sql) 試してみてください
SELECTでは複数の式を使用できます 次のようなステートメント:
SELECT
10 / 5,
2 * 4 ;Code language: SQL (Structured Query Language) (sql) 試してみてください
SELECTを使用してテーブルからデータをクエリする ステートメント
SELECTをよく使用します 1つ以上のテーブルからデータを照会するステートメント。 SELECTの構文 ステートメントは次のとおりです。
SELECT DISTINCT column_list
FROM table_list
JOIN table ON join_condition
WHERE row_filter
ORDER BY column
LIMIT count OFFSET offset
GROUP BY column
HAVING group_filter;Code language: SQL (Structured Query Language) (sql)
SELECT ステートメントはSQLiteで最も複雑なステートメントです。各部分を理解しやすくするために、SELECTを分割します 複数のわかりやすいチュートリアルへのステートメント。
- ORDERBY句を使用して結果セットを並べ替えます
- DISTINCT句を使用してテーブル内の一意の行をクエリします
- WHERE句を使用して結果セットの行をフィルタリングします
- LIMIT OFFSET句を使用して、返される行数を制限します
- INNERJOINまたはLEFTJOINを使用して、結合を使用して複数のテーブルからデータをクエリします。
- GROUP BYを使用して、グループ行をグループにまとめ、各グループに集計関数を適用します。
- HAVING句を使用してグループをフィルタリングする
このチュートリアルでは、SELECTの最も単純な形式に焦点を当てます。 単一のテーブルからデータをクエリできるステートメント。
SELECT column_list
FROM table;Code language: SQL (Structured Query Language) (sql)
SELECT FROMの前に句が表示されます 句、SQLiteはFROMを評価します 最初に句を入力し、次にSELECT したがって、条項:
- まず、
FROMでデータを取得するテーブルを指定します 句。FROMには複数のテーブルを含めることができることに注意してください 句。これについては、次のチュートリアルで説明します。 - 次に、
SELECTで列またはカンマ区切りの列のリストを指定します 条項。
ステートメントを終了するには、セミコロン(;)を使用します。
SQLite SELECT 例
tracksを見てみましょう サンプルデータベースのテーブル。
tracks テーブルには列と行が含まれます。スプレッドシートのようです。
トラックID、トラック名、作曲家、単価などのデータをトラックテーブルから取得するには、次のステートメントを使用します。
SELECT
trackid,
name,
composer,
unitprice
FROM
tracks;Code language: SQL (Structured Query Language) (sql) 試してみてください
SELECTで、データを取得するリスト列名を指定します 句とtracks FROMのテーブル 句。 SQLiteは次の結果を返します:
すべての列からデータを取得するには、tracksの列を指定します SELECTのテーブル 次のような条項:
SELECT
trackid,
name,
albumid,
mediatypeid,
genreid,
composer,
milliseconds,
bytes,
unitprice
FROM
tracks;Code language: SQL (Structured Query Language) (sql) 試してみてください
多くの列を持つテーブルの場合、クエリは非常に長く、入力に時間がかかります。これを回避するには、次のようにテーブルのすべての列の省略形であるアスタリスク(*)を使用できます。
SELECT * FROM tracks;Code language: SQL (Structured Query Language) (sql) 試してみてください
クエリが短くなり、クリーンになりました。
しかし…
アスタリスク(*)は、実際のアプリケーション開発ではなく、テスト目的でのみ使用する必要があります。
なぜなら…
アプリケーションを開発するときは、SQLiteがアプリケーションに返すものを制御する必要があります。テーブルに3つの列があり、アスタリスク(*)を使用して3つの列すべてからデータを取得するとします。
誰かが列を削除すると、アプリケーションは正しく機能しなくなります。これは、3つの列が返され、それらの3つの列を処理するロジックが壊れていると想定しているためです。
誰かがさらに列を追加すると、アプリケーションは機能する可能性がありますが、必要以上のデータを取得するため、データベースとアプリケーション間のI/Oオーバーヘッドが大きくなります。
したがって、SELECTを使用するときは、アスタリスク(*)を適切な習慣として使用しないようにしてください。 ステートメント。
このチュートリアルでは、SQLite SELECTの単純な形式を使用する方法を学習しました。 単一のテーブルからデータをクエリするステートメント。