SQLite の where 句
SQLite の WHERE 句は、1 つまたは複数のテーブルからデータを取得するための条件を指定するために使用されます。
指定された条件が満たされる場合、つまり true の場合、テーブルから特定の値が返されます。 WHERE 句を使用してレコードをフィルタリングし、必要なレコードのみを取得できます。
WHERE 句は SELECT ステートメントで使用されるだけでなく、UPDATE、DELETE ステートメントなどでも使用できます。これについては後続の章で学習します。
構文
WHERE 句を含む SQLite の SELECT ステートメントの基本構文は次のとおりです:
SELECT column1, column2, columnN FROM table_name WHERE [condition]
例
比較演算子を使用して、>、<、=、などの条件を指定することもできます。好き、嫌いなど。 Company テーブルに次のレコードがあると仮定します:
----------------------------- -------------------------------------------------- --------- ------ ----------
1 ポール 32 カリフォルニア 20000.0
2 アレン 25 テキサス 15000.0
3 テディ 23 ノルウェー 20000.0
4 マーク 25 リッチモンド65000.0
5 デビッド 27 テキサス 85000.0
6 キム 22 サウスホール 45000.0
7 ジェームス 24 ヒューストン 10000.0
次の例は、SQLite 論理演算子の使用法を示しています。次の SELECT ステートメントは、AGE が 25 以上で、salary が 65000.00 以上であるすべてのレコードをリストします。
ID 名前 年齢 住所 給与5 David 27 Texas 85000.0
以下の SELECT ステートメントは、AGE が 25 以上であるか、
sqlite>SELECT * FROM COMPANY WHERE 年齢 >= 25 または 給与 >= 65000;ID NAME ---------- ----------
1 Paul 32 カリフォルニア 20000.05 デビッド 27 テキサス 85000.0
次の SELECT ステートメントは、AGE が NULL でないすべてのレコードをリストします。これは、AGE が NULL に等しいレコードがないことを意味します。年齢 住所 給与
-------------------------------------- -- --3 テディ 23 ノルウェー 20000.0
4 マーク 25 リッチモンド 65000.0
5 デビッド 27 テキサス 85000.0
6 キム 22 サウスホール 45000。 0
7 ジェームス 24 ヒューストン 10000.0
次の SELECT ステートメントは、NAME が「Ki」で始まるすべてのレコードをリストします。「Ki」以降の文字は制限されません:
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- -------- --
6 Kim 22 South-Hall 45000.0
次の SELECT ステートメントは、NAME が「Ki」で始まるすべてのレコードをリストします。「Ki」の後の文字は制限されません:
ID ---- ----------
6 Kim 22 South-Hall 45000.0
sqlite> ;(25、27); 5 デビッド 27 テキサス 85000.0
次の SELECT ステートメントは、AGE 値が 25 でも 27 でもないすべてのレコードをリストします:
ID NAME AGE AD DRESS SALARY
--- -- ----- ---------- ---------- ---------- ----------
1 ポール 32 カリフォルニア20000.0
3 Teddy 23 Norway 20000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
次の SELECT ステートメントは、AGE 値が 25 から 27 までのすべてのレコードをリストします。 ; 会社から * を選択してください25 歳から 27 歳までの年齢;
ID ----------5 デビッド 27 Tエクサス 85000.0
次の SELECT ステートメントは、SQL サブクエリを使用します。サブクエリは、SALARY > 65000 の AGE フィールドを持つすべてのレコードを検索します。次の WHERE 句を EXISTS 演算子とともに使用して、サブクエリに存在する外側のクエリの AGE をリストします。返された結果:
が存在する場所から年齢を選択 (給与 & gt; 65000 の会社から年齢を選択)
32
25
23
25
27
22
24
------------------ ------------------------ ----
1 Paul 32 カリフォルニア 20000.0