우잉's Development

SQLite3_WHERE절 본문

개발/SQLite3

SQLite3_WHERE절

우잉이 2022. 1. 5. 15:22
728x90
반응형

1. WHERE 절을 이용한 조건 설정

SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건식 ;

저번에 했던 user테이블을 사용할 것이다. 일단 전체를 조회해보겠습니다.

이번에는 address컬럼이 Seoul인 사람을 조회 해보겠습니다.

2. 비교 연산자를 사용한 조건식

where절에 오는 조건식에는 비교 연산자가 올 수 있습니다. 비교 연산자는 아래와 같습니다.

비교연산자 설명
a = b ( a == b ) a와 b가 같다.
a <> b ( a != b) a와 b가 같지 않다.
a > b a가 b보다 크다.
a < b a가 b보다 작다.
a >= b a가 b보다 크거나 같다. 
a <= b a가 b보다 작거나 같다.

그러면 비교 연산자를 사용하여 old가 25 이상인 사람을 조회해봅시다.

한 가지 예제를 더해보면 address가 'Seoul'이 아닌 사람을 조회해봅시다.

3. 논리 연산자를 사용한 조건식

보다 복잡한 조건식으로는 논리 연산자 AND, OR, NOT을 사용할 수 있다.

1. 조건식 1과 조건식 2 둘 다 성립
SELECT 컬럼명, ... FROM 테이블 WHERE 조건식1 AND 조건식2 ;

2. 조건식 1과 조건식 2 둘 중 하나 이상 성립
SELECT 컬럼명, ... FROM 테이블 WHERE 조건식1 OR 조건식2 ;

3. 조건식이 성립 X
SELECT 컬럼명, ... FROM 테이블 WHERE NOT 조건식  ;

위의 논리 연산자를 이용하여 조건식을 세워 봅시다.  old컬럼이 25 초과이며 address가 'Seoul'인 사람을 

조회해 봅시다.

한번 더 연습해봅시다. 이번에는 위에서 address가 'Seoul'이 아니고 old가 25 이하인 사람을 조회하자.

4. 지정된 값의 범위와 비교 ( BETWEEN절, IN절)

4-1 BETWEEN 절 

: 컬럼의 값1과 값2 사이에 들어있는 데이터를 조회 (값1 이상 값2 이하)

SELECT 컬럼명, ... FROM 테이블명 WHERE 컬럼 BETWEEN 값1 AND 값2 ;

(NOT과 함께 사용 가능)
SELECT 컬럼명, ... FROM 테이블명 WHERE 컬럼 NOT BETWEEN 값1 AND 값2 ;

NOT과 함께 사용할 경우 값1과 값2 사이에 포함되지 않는 경우의 데이터가 조회된다. 

이번에는 old컬럼에서 20대를 between절을 사용하여 조회해봅시다.

이번에는 20대 이외의 사람들을 not을 사용해서 조회해봅시다.

4-2 IN절 

: 컬럼의 값이 여러 값 중 하나와 일치하는 데이터 조회

SELECT 컬럼명, ... FROM 테이블명 WHERE 컬럼 IN (값1, 값2, ... );dl

이번엔 전의 user테이블을 지우고 새로운 user테이블 생성해봅시다.

이번에는 address 컬럼의 값이 ‘Paju’, ‘Seongnam’, ‘Suwon’에 일치하는 데이터를 조회해봅시다.

이번에는 다른 테이블에서 얻은 값의 목록과 비교해봅시다. 

SELECT 컬럼명, ... FROM 테이블명 WHERE 컬럼 IN (SELECT 컬럼명 FROM 테이블명) ;

실제로 해보면서 이해해봅시다. 일단 gyeonggi테이블을 생성해서 데이터를 추가하겠습니다.

user테이블에서 gyeonggi테이블에 있는 region이 address와 일치하는 데이터를 조회해봅시다.

그럼 전에 배운 ORDER BY도 사용해봅시다.

 

다음에는 패턴 매칭 비교를 공부해보겠습니다.

728x90
반응형

'개발 > SQLite3' 카테고리의 다른 글

SQLite3_IS NULL절, AS 절, DISTINCT 절  (0) 2022.01.06
SQLite3_LIKE절과 GLOB절  (0) 2022.01.05
SQLite3_SELECT 절과 ORDER BY절  (0) 2022.01.05
SQLite3_데이터 추가와 수정, 삭제  (0) 2022.01.04
SQLite3_ trigger 트리거  (0) 2021.12.31
Comments