-
조건에 만족하는 데이터만 선택하여 출력할 경우 사용
-
조건식의 일반적 형태 : 대상(컬럼) + 연산자 + 비교대상(상수)
-
문자열과 날짜 상수의 전달은 항상 홑따옴표(')와 함께 작성
-
조건절의 문자 상수는 대소를 구분한다.
논리 연산자
- AND : 나열된 조건 모두 만족
- OR : 나열된 조건 중 하나 이상 만족
- NOT : 단일 조건의 결과 부정
EX) STUDENT 테이블에서 키가 170 이상이면서 몸무게가 80이상인 학생의 이름, 키, 몸무게 출력
SELECT NAME, HEIGHTM, WEIGHT
FROM STUDENT
WHERE HEIGNT >= 170 AND WEIGHT >= 80;
산술 연산자
- +, -, *, / 등의 산술 연산자 표현 가능
- SELECT, WHERE 뿐 아니라 다른 구문에서도 사용 가능
BETWEEN 연산자
- BETWEEN A AND B : A 이상, B 이하 사잇값 반환
- WHERE 절에서만 사용 가능
- 주의사항
- 작은 값을 먼저, 큰 값을 나중에
- 두 값을 모두 포함하는 연산 결과 출력됨
EX) 교수 테이블에서 월급이 500~600사이인 교수 이름과 월급을 출력
SELECT NAME, PAY
FROM PROFESSOR
WHERE PAY BETWEEN 500 AND 600;
IN 연산자
- IN('A','B','C') : A 또는 B 또는 c 여러 개 동시 출력
EX) 학생 테이블에서 1,2학년 학생 중 키가 160에서 170 사이에 있는 학생의 이름, 학년, 키, 몸무게와 함께 표준 몸무게를 계산하여 함께 출력하시오.
SELECT NAME, GRADE, HEIGHT, WEIGHT, (HEIGHT - 100) * 0.9 AS "표준몸무게"
FROM STUDENT
WHERE GRADE IN(1,2) AND HEIGTH BETWEEN 160 AND 170;
LIKE 연산자
- 정확한 일치가 아닌 패턴에 만족하는 행 찾기
- 사용 방법
- 이름이 A로 시작하는 직원 모두 출력
: NAME LIKE 'A%';
- 이름이 A로 시작하는 4자리의 직원 모두 출력
: NAME LIKE 'A___';
- 중간에 이름이 O가 포함된 직원 모두 출력
: NAME LIKE '%O%';
- 이름이 E로 끝나는 직원 모두 출력
: NAME LIKE '%E';
- 두번째 이름이 E인 직원 모두 출력
: NAME LIKE '_E%';
IS NULL, IS NOT NULL 연산자
- NULL : 0또는 SPACE값과는 다른, 아직 지정되지 않은 상태의 데이터
- NULL을 포함한 산술 연산의 결과 NULL 리턴
- NULL을 포함한 데이터의 조건은 IS NULL/IS NOT NULL로 전달