[ANSI SQL] 6. 데이터 필터링(WHERE/BETWEEN AND/IS NULL) 조건부 연산자
WHERE 절의 사용
- SELECT 문의 WHERE 절을 사용하여 검색조건을 지정하는 방법
- WHERE 절은 특정 테이블에서 원하는 정보만을 가져오기 위해 사용한다.
WHERE 절의 조건부 연산자
연산자 |
설명 |
= |
같음 |
<> |
같지 않음 |
!= |
같지 않음 |
< |
보다 작음 |
<= |
보다 작거나 같음 |
!< |
보다 작지 않음 |
> |
보다 큼 |
>= |
보다 크거나 같음 |
BETWEEN |
지정된 두 값 사이에 있음 |
IS NULL |
NULL 값임 |
<> 와 != 는 동일한 의미
!< 와 >= 동일한 기능
해당 연산자들은 DBMS마다 모두 지원되는게 아니므로 확인 후 사용해야 한다.
-----------------------------------------------------------------------------------------------------------------------------
User_Table (예제 테이블)
-----------------------------------------------------------------------------------------------------------------------------
간단한 동일성 조건문 예제
SELECT user_id, user_mobile, user_gender FROM User_Table WHERE user_amount = 5000;
User_Table 에서 user_amount 값이 5000 인 회원의 user_id , user_mobile , user_gender 정보를 가져왔다.
출력
-----------------------------------------------------------------------------------------------------------------------------
한 값을 대상으로 간단한 연산자 사용 예제
숫자값 비교
SELECT user_id, user_mobile, user_gender , user_amount FROM User_Table WHERE user_amount > 5000;
User_Table 에서 user_amount 값이 5000 보다 큰 회원의 user_id , user_mobile , user_gender , user_amount 정보를 가져왔다.
출력
예제테이블 User_Table 에서 user_amount 의 값이 5000이상인 회원은 user_amount 가 10000인 user2, user3 두 회원 이므로 해당값이 출력되었다.
-----------------------------------------------------------------------------------------------------------------------------
문자열 비교
SELECT user_id, user_mobile, user_gender , user_amount FROM User_Table WHERE user_gender = 'male' ;
User_Table 에서 user_gender 값이 'male' 인 회원의 user_id , user_mobile , user_gender , user_amount 정보를 가져왔다.
출력
예제테이블 User_Table 에서 user_amount 의 값이 'male' 인 회원의 정보가 출력된다.
※ 따옴표( ' ' ) 의 사용
문자열 값을 조건문에서 사용할 경우 작은 따옴표( '' ) 를 사용한다. 숫자 값일 경우 따옴표가 필요하지 않다.
-----------------------------------------------------------------------------------------------------------------------------
특정 범위에 있는 값을 비교
SELECT user_id , user_mobile , user_gender , user_amount FROM User_Table
WHERE user_amount BETWEEN 4000 AND 6000;
출력
User_Table에서 user_amount 값이 4000 에서 6000 사이인 회원의 user_id , user_mobile , user_gender , user_amount 정보를 가져왔다.
-----------------------------------------------------------------------------------------------------------------------------
값이 없을 경우를 비교
SELECT user_id , user_mobile , user_gender , user_amount , user_addr FROM User_Table WHERE user_addr IS NULL;
출력
User_Table에서 user_addr 값이 NULL 인 회원의 user_id , user_mobile , user_gender , user_amount , user_addr 정보를 가져왔다.
※ NULL
- No value, 즉 값이 없음을 의미한다. 값이 0 이거나 빈 문자열, 또는 공백인 경우와는 다름을 주의 해야한다.