[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 이거나 빈 문자열, 또는 공백인 경우와는 다름을 주의 해야한다.
출처: https://inforyou.tistory.com/27?category=710791 [a battle with myself]
'Database > ANSI SQL' 카테고리의 다른 글
JOIN 종류 (ANSI방식 JOIN) (0) | 2020.01.02 |
---|---|
[SQL] ANSI Join (0) | 2020.01.02 |
[ANSI SQL] 7. WHERE 절의 조합(AND / OR / NOT / IN) (0) | 2020.01.02 |
[ANSI SQL] 5. 데이터 가져오기/데이터 정렬(SELECT FROM/ORDER BY) (0) | 2020.01.02 |
[ANSI SQL] 4. 테이블 생성과 제어(CREATE/ALTER/DROP/SYSTEM DATE) (0) | 2020.01.02 |
[ANSI SQL] 3. 데이터 수정(UPDATE) / 삭제(DELETE) (0) | 2020.01.02 |
[ANSI SQL] 2. 데이터 삽입 (INSERT/INSERT SELECT/ SELECT INTO) (0) | 2020.01.02 |
[ANSI SQL] 1. SQL의 이해 (0) | 2020.01.02 |