Latest web development tutorials

SQLite는 연산자

무엇 SQLite는 연산자는 무엇입니까?

운영자는 작업을 수행 할 수 절이 주로 비교 연산으로, SQLite는 문에 사용되는 예약 된 단어 또는 문자입니다.

운영자는 조건의 SQLite는 문을 지정하는 데 사용하고 문에서 조건의 복수를 연결합니다.

  • 산술 연산자

  • 비교

  • 논리 연산자

  • 비트 연산자

SQLite는 산술 연산자

가정하자 변수 a = 10 일 후, 변수 B = 20 :

运算符描述实例
+加法 - 把运算符两边的值相加 a + b 将得到 30
-减法 - 左操作数减去右操作数 a - b 将得到 -10
*乘法 - 把运算符两边的值相乘 a * b 将得到 200
/除法 - 左操作数除以右操作数 b / a 将得到 2
%取模 - 左操作数除以右操作数后得到的余数 b % a will give 0

여기에 SQLite는 산술 연산자의 간단한 예입니다 :

sqlite가> .mode 라인
sqlite가> 10 + 20을 선택;
10 + 20 = 30


sqlite가> 10 선택 - (20);
10-20 = -10


sqlite가> 10 * 20를 선택;
10 * 20 = 200


sqlite가> 10/5를 선택;
10/5 = 2


sqlite가> 12 % 5를 선택;
2 5 = 12 %

SQLite는 비교

가정하자 변수 a = 10 일 후, 변수 B = 20 :

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
=检查两个操作数的值是否相等,如果相等则条件为真。 (a = b) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
<>检查两个操作数的值是否相等,如果不相等则条件为真。 (a <> b) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
>=检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。 (a >= b) 不为真。
<=检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
!<检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 (a !< b) 为假。
!>检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 (a !> b) 为真。

가정하자 회사 테이블에는 다음과 같은 기록이있다 :

ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
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는 비교의 사용을 보여줍니다.

여기, 우리는 다시 별도의 장에서 다루는될 WHERE 절을 사용하지만, 지금은 SELECT 문의 WHERE 절은 조건문을 설정하는 데 사용됩니다 이해할 필요가있다.

다음 SELECT 문은 모든 레코드의 SALARY는 50,000.00보다 큰 나열

sqlite가> SELECT * FROM 회사 WHERE SALARY> 50000;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0

다음 SELECT 문은 모든 레코드와 동일한 SALARY 20,000.00을 보여줍니다

sqlite가> SELECT * FROM 회사 WHERE SALARY = 20000;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
1 폴 (32) 캘리포니아 20000.0
3 테디 (23) 노르웨이 20000.0

다음 SELECT 문은 SALARY는 20,000.00의 모든 기록에 동일하지 않은 나열

! SQLite는> SELECT * FROM 회사 WHERE SALARY = 20000;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
2 알렌 (25) 텍사스 15000.0
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0
6 김 (22) 사우스 홀 45000.0
7 제임스 (24) 휴스턴 10000.0

다음 SELECT 문은 SALARY는 20,000.00의 모든 기록에 동일하지 않은 나열

sqlite가> 회사 SELECT * FROM WHERE SALARY <> 20000;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
2 알렌 (25) 텍사스 15000.0
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0
6 김 (22) 사우스 홀 45000.0
7 제임스 (24) 휴스턴 10000.0

다음 SELECT 문은 SALARY는 65,000.00의 모든 레코드의 합계보다 큰 나열

sqlite가> 회사 SELECT * FROM WHERE SALARY> = 65000;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0

SQLite는 논리 연산자

여기에 논리 연산자의 SQLite는 모두의 목록입니다.

运算符描述
ANDAND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。
BETWEENBETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。
EXISTSEXISTS 运算符用于在满足一定条件的指定表中搜索行的存在。
ININ 运算符用于把某个值与一系列指定列表的值进行比较。
NOT ININ 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。
LIKELIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。
GLOBGLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
NOTNOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。
OROR 运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。
IS NULLNULL 运算符用于把某个值与 NULL 值进行比较。
ISIS 运算符与 = 相似。
IS NOTIS NOT 运算符与 != 相似。
||连接两个不同的字符串,得到一个新的字符串。
UNIQUEUNIQUE 运算符搜索指定表中的每一行,确保唯一性(无重复)。

가정하자 회사 테이블에는 다음과 같은 기록이있다 :

ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
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 문은 모든 레코드 65000.00에 대한 AGE25보다 같거나 크거나 동일 임금 나열

sqlite가> SELECT * FROM 회사 WHERE AGE> = 25 AND SALARY> = 65000;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0

다음 SELECT 문은 모든 레코드 65000.00에 대한 25 세이상 같거나보다 크거나 동일 임금 나열

sqlite가> 회사 SELECT * FROM WHERE AGE> = 25 OR SALARY> = 65000;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
1 폴 (32) 캘리포니아 20000.0
2 알렌 (25) 텍사스 15000.0
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0

다음 SELECT 문은 AGE가 모든 레코드를 보여,이 나이에 대한 기록이 NULL과 동일하지가 의미하는 모든 레코드에 대한 NULL이 나열되어 있습니다 :

나이가 NULL이 WHERE sqlite가> 회사 SELECT * FROM;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
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 다음 문자는 '기'가 제한 후입니다 시작했다 :

sqlite가> SELECT * FROM 회사 WHERE NAME LIKE '기 %';
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
6 김 (22) 사우스 홀 45000.0

'기'모든 레코드에 SELECT 문을 나열 NAME 다음 문자는 '기'가 제한 후입니다 시작했다 :

sqlite가> SELECT * FROM 회사 WHERE NAME의 GLOB '기 *';
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
6 김 (22) 사우스 홀 45000.0

다음 SELECT 문은 25 또는 27의 모든 레코드 나이 값을 나열합니다 :

sqlite가> 회사 SELECT * FROM WHERE AGE IN (25, 27);
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
2 알렌 (25) 텍사스 15000.0
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0

다음 SELECT 문은 나이가 모두 25도 모든 레코드의 27 인 값을 보여줍니다 :

sqlite가> (25 27) WHERE AGE NOT IN 회사 SELECT * FROM;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
1 폴 (32) 캘리포니아 20000.0
3 테디 (23) 노르웨이 20000.0
6 김 (22) 사우스 홀 45000.0
7 제임스 (24) 휴스턴 10000.0

다음 SELECT 문은 값 AGE 25과 27 사이의 모든 기록을 나열

sqlite가> SELECT * FROM 회사 WHERE (25) 및 (27) 간의 AGE;
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
2 알렌 (25) 텍사스 15000.0
4 마크 (25) 리치 사교계 65000.0
5 다윗 (27) 텍사스 85000.0

WHERE 절은 연산자 존재와 함께 사용됩니다 뒤에 다음 SELECT 문, 65,000 모든 레코드를 SQL의 하위 쿼리, 하위 쿼리 찾기 SALARY> AGE 필드를 사용, 서브 쿼리 반환에 외부 쿼리 AGE의 존재를 나열 모든 레코드의 결과 :

회사 FROM sqlite가> SELECT AGE 
        존재하는 (회사의 나이를 선택 WHERE SALARY> 65000);
AGE
----------
(32)
(25)
(23)
(25)
(27)
(22)
(24)

다음의 SELECT 절 및> 연산자를 함께 사용하는 뒤에 SQL 하위 쿼리, 하위 쿼리 찾기 SALARY> 65000 모든 레코드에 대한 AGE 필드를 사용하는 쿼리의 결과는 외부 쿼리의 목록을 서브 AGE보다 큰 반환 시대의 모든 기록 :

SQLite는> 회사 SELECT * FROM 
        WHERE AGE> (회사의 나이를 선택 WHERE SALARY> 65000);
ID의 이름 나이 주소 급여
---------- ---------- ---------- ---------- ----------
1 폴 (32) 캘리포니아 20000.0

SQLite는 비트 연산자

비트 비트에 작용하는 연산자 및 비트 연산에 의해 비트. 진실 테이블 &와 | 다음과 같습니다 :

pqp & qp | q
0000
0101
1111
1001

가정 A = 60, 및 B = 13의 경우, 이제 다음과 바이너리 형식에서 :

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

다음 표는 SQLite는 비트 연산자를 지원하는 언어를 나열합니다. 가정 변수의 A = 60, 다음 변수 B = 13 :

运算符描述实例
&如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
|如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
~二进制补码运算符是一元运算符,具有"翻转"位效应。 (~A ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111

다음의 예는 SQLite는 비트 단위의 사용을 보여줍니다

sqlite가> .mode 라인
sqlite가>를 선택 (60) | (13);
60 | 13 = (61)

sqlite가> 60 & 13를 선택;
60 13 = 12

sqlite가> 60 ^ 13을 선택;
10 * 20 = 200


sqlite가> (~ 60)을 선택;
(~ 60) = -61

sqlite가>를 선택 (60 << 2);
(2 << 60) = 240

sqlite가>를 선택합니다 (60 >> 2);
(60 >> 2) = 15