概要 :このチュートリアルでは、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
の単純な形式を使用する方法を学習しました。 単一のテーブルからデータをクエリするステートメント。