a battle with myself

[ANSI SQL] 6. 데이터 필터링(WHERE/BETWEEN AND/IS NULL) 조건부 연산자 본문

sql

[ANSI SQL] 6. 데이터 필터링(WHERE/BETWEEN AND/IS NULL) 조건부 연산자

열공_중 2016. 8. 11. 10:07

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 이거나 빈 문자열, 또는 공백인 경우와는 다름을 주의 해야한다.