일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Notice
Tags
- 인덱스
- Drop
- constraint
- 테이블삭제
- 넷플릭스
- SQL
- data
- 30일글쓰기
- 도전
- 책리뷰
- SQLD
- 30일챌린지
- 빅데이터
- 일기
- 전생
- 데이터모델링
- 직장생활
- rename
- 회사싫어
- 직장인일기
- ROWNUM
- INSERT
- null
- 홈트
- 환생
- where절
- 회사생활
- ERD
- 보울룸
- Update
Archives
- Today
- Total
최보름달
[SQL] where절 SQL연산자 (BETWEEN, IN, LIKE, IS NULL) 본문
SQL 연산자
SQL 연산자는 SQL 문장에서 사용하도록 기본적으로 예약되어 있는 연산자로, 모든 데이터 타입에 대해서 연산이 가능하다.
SQL 연산자 종류
연산자 | 의미 |
BETWEEN A AND B | A와 B의 값이 포함된 사이값 |
IN (list) | 리스트에 있는 값 중에서 일치하는 값 |
LIKE '비교문자열' | 비교 문자열과 형태가 일치하는 값 |
IS NULL | NULL 값 |
BETWEEN A AND B
-- 키가 170 이상, 180 이하인 선수 정보를 찾아라
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
FROM PLAYER
WHERE HEIGHT BETWEEN 170 AND 180 ;
IN
-- 팀 아이디가 K02, K07인 선수를 찾아라
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
FROM PLAYER
WHERE TEAM_ID IN ('K02', 'K07') ;
-- 사원 테이블에서
-- JOB이 MANAGER 이면서 20번 부서에 속하거나,
-- JOB이 CLERK 이면서 30번 부서에 속하는 사원 정보를 찾아라
SELECT ENAME, JOB, DEPTNO
FROM EMP
WHERE (JOB, DEPTNO) IN (('MANAGER', 20), ('CLERK', 30)) ;
IN 연산자는 SQL문장을 짧게 만들어주면서도 성능이 잘 나오는 유용한 연산자이다.
LIKE
-- 포지션이 MF인 선수를 찾아라.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
FROM PLAYER
WHERE POSITION LIKE 'MF' ;
LIKE는 비교 연산자 '=' 를 사용해서 작성해도 같은 결과를 얻을 수 있다.
LIKE는 와일드카드를 사용할 수 있다. 와일드카드란 한 개 혹은 0개 이상의 문자를 대신해서 사용하기 위한 특수문자다.
- % : 0개 이상의 어떤 문자
- _ : 1개인 단일 문자
-- 선수이름이 장~ 으로 시작하는 선수를 찾아라.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
FROM PLAYER
WHERE PLAYER_NAME LIKE '장%' ;
IS NULL
NULL은 존재하지 않는 것으로 확정되지 않은 값을 표현할 때 사용한다.
NULL의 특성은 다음과 같다.
- NULL 값과 수치연산은 NULL값을 리턴한다.
- NULL 값과의 비교연산은 거짓(FALSE)를 리턴한다.
- 어떤 값과도 비교할 수 없으며, 특정 값보다 크다, 적다라고 표현할 수 없다.
-- 포지션이 NULL인 선수를 찾아라.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
FROM PLAYER
WHERE POSITION = NULL ; -- 틀린 쿼리이다. where 조건절이 거짓(false)되어 데이터가 추출되지 않는다.
SELECT PLAYER_NAME 선수이름, POSITION 포지션, BACK_NO 백넘버, HEIGHT 키
FROM PLAYER
WHERE POSITION IS NULL ; -- 옳은 쿼리이다.
kdata 한국데이터진흥원에서 출간한 SQL 전문가 가이드 2013 Edition을 요약했습니다.
'문송한 회사생활 > SQL 공부' 카테고리의 다른 글
[SQL] where절: 부정연산자( 같지 않다 !=, ^=, <>, NOT) (0) | 2020.08.08 |
---|---|
[SQL] where절 논리연산자 (AND, OR, NOT) (0) | 2020.08.08 |
[SQL] where절 비교연산자(=, >,<, >=, <=) (0) | 2020.08.08 |
[SQL] WHERE 절, 연산자 종류, 우선순위 (0) | 2020.08.08 |
[SQL] TCL (COMMIT, ROLLBACK, SAVEPOINT) (0) | 2020.08.08 |