sql >> データベース >  >> RDS >> SQLite

SQLite Select

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


    1. 並列実行計画–ブランチとスレッド

    2. MariaDB文字列関数(完全なリスト)

    3. PLS-00103:シンボルCREATEに遭遇しました

    4. 環境変数を設定せずにMacOS/XにOracleInstantclientをインストールしますか?