Latest web development tutorials

Where 절 SQLite는

SQLite는의WHERE 절 조건에있는 하나 이상의 테이블에서 데이터를 얻기 위해 지정합니다.

주어진 조건 (사실)가 true 충족하는 경우, 테이블에서 특정 값을 반환합니다. 당신은 필요한 기록을 얻을 레코드를 필터링 할 WHERE 절을 사용할 수 있습니다.

절은 SELECT 문에서뿐만 아니라 사용되는 경우, 또한 우리가 다음 장에서 배울 수있는, 그래서 문을 DELETE, UPDATE에 사용 될 수 있습니다.

문법

SQLite는의 WHERE 절 다음에 SELECT 문의 기본 구문 :

SELECT 컬럼 1, 2 열, columnN 
TABLE_NAME FROM
WHERE [조건]

당신은 또한 사용할 수있는 비교 또는 논리 연산자 등>, <, =, LIKE 등의 지정 기준, NOT, 등등을. 가정하자 회사 테이블에는 다음과 같은 기록이있다 :

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