SQLite 演算子
SQLite 演算子とは何ですか?
演算子は予約語または予約文字であり、主に SQLite ステートメントの WHERE 句で比較や算術演算などの演算を実行するために使用されます。
演算子は、SQLite ステートメントで条件を指定し、ステートメント内の複数の条件を接続するために使用されます。
テーブル演算子 运 比較演算子
論理演算子
Sqlite 算術演算子
変数 A = 10、変数 B = 20 と仮定すると、次のようになります:
+ | 加算 - 演算子の両側の値を加算します | a + bは30を取得します | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- | 減算-左の演算は数値から右のオペランドを引いたものです | a - bは取得します-10 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* | 乗算 - 演算子の両側の値を乗算します | a * bは200になります | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/ | 除算 - 左オペランドを右オペランドで割ったもの | b / a は 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
% | modulo を与えます - 左オペランドを右オペランドで除算した後に得られる剰余 | b % a は 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
を与えます例以下は、SQLite 算術演算子の簡単な例です。 10- 20 = -10sqlite>select 10 * 20; 10 * 20 = 200 sqlite>select 10 / 5; sqlite>select 12 % 5; 12%5 = 2 SQLite 比較演算子 変数 a=10、変数 b=20 と仮定すると、次のようになります: 演算子
例COMPANY テーブルに次のレコードがあるとします。 ID NAME AGE ADDRESS SALARY ---------- ---------- -------- -- ---------- ---------- 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 以上であるすべてのレコードをリストします: sqlite> SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000; ID 名前 年齢 住所 給与 ---------- ---------- ---------- ---------- - ------ --- 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 S 以下 ELECT ステートメントは、AGE が 25 以上、または salary 以上であるすべてのレコードをリストします。 to 65000.00: sqlite> 会社からの年齢 & GT; = 25 OR SALARY & GT = 65000; ID 年齢 住所 給与 ----------- --------------------- 1 ポール 32 カリフォルニア 20000.0 2 アレン 25 テキサス 15000.0 4 マーク 25 リッチ-モンド 65000.0 5 デビッド 27 テキサス 85000.0 次の SELECT ステートメントは、AGE が NULL でないすべてのレコードをリストします。これは、AGE が NULL に等しいレコードがないことを意味します。年齢 住所 給与 -------------------------------------- -- --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 次の SELECT ステートメントは、NAME が「Ki」で始まるすべてのレコードをリストします。「Ki」以降の文字は制限されません: sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%'; ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- -------- -- 6 Kim 22 South-Hall 45000.0 次の SELECT ステートメントは、NAME が「Ki」で始まるすべてのレコードをリストします。「Ki」の後の文字は制限されません: sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki *'; ID ---- ---------- 6 Kim 22 South-Hall 45000.0 sqlite> ;(25、27); 5 デビッド 27 テキサス 85000.0 次の SELECT ステートメントは、AGE 値が 25 でも 27 でもないすべてのレコードをリストします: sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN (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 ----------2 アレン 25 テキサス 15000.0 4 マーク 25 リッチモンド 65000.0 5 デビッド 27 テキサス 85000.0 次の SELECT ステートメントは、SQL サブクエリを使用します。サブクエリは、SALARY > 65000 の AGE フィールドを持つすべてのレコードを検索します。次の WHERE 句は、サブクエリに存在する外部クエリ内の AGE をリストするために EXISTS 演算子とともに使用されます。返された結果のレコード: sqlite> SELECT AGE FROM COMPANY 1 Paul 32 California 20000.023 25 27 22 24 次の SELECT ステートメントは、SQL サブクエリを使用して、SALARY > 65000 の AGE フィールドを持つすべてのレコードを検索します。次の WHERE 句は、> 演算子とともに使用され、外側のクエリの AGE がサブクエリによって返された結果の Age よりも大きいすべてのレコードをリストします。名前 年齢 住所 給料 。 ---------------------------------------- ---- ピッチはビット演算を実行します。真理値表 & と | は次のとおりです。 00 1 1
例次の例は、SQLite ビット演算子の使用法を示しています。 13 ; 60 | 13 = 61sqlite>select 60 & 13; 60 & 13 = 12 sqlite>select 60 ^ 13; 10 = 200 sqlite>select(~60); (~60) = -61 sqlite>select(60<<2); (60<<2)=240 sqlite>select(60>>2); (60> ;> 2) = 15 |