SQLiteのSELECTクエリから戻る場合、一部の行を除外するにはExcept句が不可欠です。 連続するSQLiteSelectステートメントでExcept句を使用すると、2番目のデータを除く最初のselect式のすべてのデータが返されます。 このSQLiteの記事の例を使用して、SQLiteExcept演算子について学習します。 次に、これを使用して、2番目のselectステートメントによって生成されたデータの横にあるこの最初のselectステートメントからすべてのレコードを取得する方法を学習します。
ほとんどの場合、SelectステートメントでSQLiteExcept句を使用します。 したがって、Except句を含むすべてのSelectステートメントには、同じ数のレコードが必要です。 SQLiteのExcept句は、次の図に要約されています。
上記のSQLiteExcept句の画像表現を見ると、色付きの領域にあるレコードが返されます。 これは、Except句が、2番目のSelectステートメントにあるレコードを除く最初のSelectステートメントのすべてのレコードを提供することを示しています。
SQLiteのExcept句の構文:
SQLite Except句は、次のパターンでselectステートメントとともに使用されます。
から TABLE_NAME
[WHERE condition]
を除外する
選択する column_Name1、 column_Name2、…、 columnn_Name_n
から TABLE_NAME
[WHERE condition];
上記のように、SQLiteのExcept演算子を使用して2つのSelectクエリを認識しました。 この場合、SQLite Except演算子は、2番目のSelectクエリでは発生しない最初のSELECTクエリのエントリを生成します。 上記のExcept演算子構文で使用される属性のいくつかを指定しました。
桁: 両方のSELECTステートメント間で列または操作を比較する必要があります。 クエリごとに、フィールドは同じである必要はありませんが、関連する列は同様のデータ型である必要があります。
Table_Name: レコードを取得するTable_Name。 FROM句は、少なくとも1つのテーブルに言及する必要があります。
WHERE条件: ここでは、Where条件はオプションです。 レコードを選択するために必要な基準には、Where条件を使用しました。
Except句のテーブルを作成します。
Except句を使用する前に、まずデータベースにテーブルを作成する必要があります。 テーブル「Teacher」を作成し、図のようにフィールドを設定しました。
次の図では、挿入クエリを使用して、テーブル「Teacher」にレコードを挿入しています。
SELECTクエリから、次のようにテーブルレコードをフェッチできます。
テーブル「Teacher」を作成したので。 ここで、except句用に別のテーブルを作成する必要があります。 このために、既存のデータベースに「Student」として2番目のテーブルを作成しました。 フィールドは、以下のようにテーブル「Student」に設定されます。
次に、次のように挿入クエリを使用して、テーブル「Student」のエントリを挿入しました。
次のプロンプトシェルの「Student」テーブルにレコードが表示されます。
例1:単一の式でSQLiteExcept句を使用するプログラム:
その基本的なSQLiteクエリについて、単一の列を持つSelectステートメントでSQLiteExcept句を使用する方法を調べます。 SQLiteシェル内で、テーブル「Student」のフィールドIDを含む最初のSELECT式を提供し、次にExcept句を使用しました。 その後、2番目のSELECT式を使用して、同じフィールドIDをテーブル「Teacher」から選択します。 このEXCEPT句の例では、テーブルStudentからすべてのIDエントリを取得しますが、テーブルTeacherからは取得しません。 これは、ID値がStudentテーブルとTeacherテーブルの両方に存在する場合、ID値はEXCEPTクエリデータに表示されないことを意味します。
ID「6」はStudentテーブルで見つかった一意のIDであるため、次の出力に表示されます。
選択する ID
から 学生
を除外する
選択する ID
から 先生;
例2:複数の式でSQLiteExcept句を使用するプログラム:
次に、複数の列を返すSQLiteEXCEPTクエリのケースを調べてみましょう。 ここでは、WHERE条件を持つ2つのSELECT式があります。 テーブルの学生からフィールドID、St_NAME、SUBJECT、およびCGPAを取得しました。 次に、CGPAが「3.0」以上のレコードのみを表示するWHERE条件を適用しました。 テーブルTeacherから列ID、T_NAME、T_AGE、およびSUBJECTを選択する2番目のSELECT式があります。 2番目のSELECT式は、SUBJECTがComputerと等しいテーブルTeacherからレコードをフェッチしたWHERE条件を使用します。 これらの2つのSELECT式の間に、指定されたフィールド値を持つテーブルStudentのレコードのみを返し、Teacherテーブルと一致するフィールド値は返さないEXCEPT句があります。
選択する ID、 St_NAME、 主題 、 CGPA
から 学生
どこ CGPA > = 3.0
を除外する
選択する ID、 T_NAME、 T_AGE 、主題
から 先生
どこ 主題 = ‘コンピューター’;
Exceptクエリからの出力は次のとおりです。
例3:ORDERBY句を含むSQLiteExceptfor句を使用するプログラム:
ここでは、Except句を降順の順序とともに使用しました。 まず、StudentテーブルとTeacherテーブルのフィールドが異なる2つのSELECT式を定義しました。 これらのSELECT式は、それらの間のexcept句と呼ばれます。 2つのSELECT式のフィールド名は異なるため、ORDERBY句のフィールドを結果セットの位置で参照することをお勧めします。
選択する ID、 St_NAME、 主題
から 学生
どこ 主題 = ‘化学’
を除外する
選択する ID、 T_NAME、 主題
から 先生
どこ ID < 4
注文 に 1 DESC;
次のように、Exceptクエリから降順でレコードを正常に取得しました。
結論:
これは、SQLite Except句を使用して、条件に一致するSelectステートメントからデータを取得する方法です。 この投稿では、画像による簡単な紹介を提供しました。 また、except句の構文を説明し、この構文を例で使用して結果を示しました。 単一の列と複数の列にexcept句を使用できます。 order by句は、並べ替えられた結果のexcept句でも使用されます。
The post 演算子を除くSQLite appeared first on Gamingsym Japan.