-
WHERE 문IT Tech/DB 2020. 11. 23. 20:13
WHERE 절은 SELECT 절, JOIN 절, FROM 절의 JOIN 에서 사용이 될 수 있음.
SELECT [DISTINCT/ALL] <칼럼명> [ALIAS명] FROM <테이블명> WHERE <조건식>;
으로 보통 FROM 절 이후에 사용할 수 있고 검색된 자료가 많을 때 문제점들이 발생이 될 수 있어 특정 조건을 부여할 목적으로 사용됨.
연산자
WHERE 절 안에서 사용되는 조건식에서 사용되는 연산자들인데, 나름 다 중요해서 기억해두는 것도 좋을 것 같다.
구분 연산자 연산자의 의미 비교 연산자 속성명 = 값 같다. 속성명 > 값 보다 크다. 속성명 >= 값 보다 적다. 속성명 < 값 보다 크거나 같다. 속성명 <= 값 보다 작거나 같다. SQL 연산자 BETWEEN a AND b a와 b의 값 사이의 값을 갖는다. (a와 b 값이 포함) IN (속성값) 리스트에 있는 값 중에서 어느 하나라도 일치한다. LINK '비교문자열' 비교문자열과 형태가 일치한다. (%, _ 사용) IS NULL NULL 값을 갖는다. 논리 연산자 AND 앞에 있는 조건과 뒤에 오는 조건이 참이 되면 결과도 참이 된다. OR 앞, 뒤의 조건 중 하나가 참이면 결과도 참이 된다. NOT 뒤에 오는 조건에 반대되는 결과를 되돌려 준다. 부정 비교 연산자 != 같지 않다. ^= 같지 않다. <> 같지 않다. (ISO 표준, 모든 운영체제에서 사용 가능) NOT 칼럼명 = 값 ~와 같지 않다. NOT 칼럼명 > 값 ~보다 크지 않다. 부정 SQL 연산자 NOT BETWEEN a AND b a와 b의 값 사이에 있지 않다. (a, b 값을 포함하지 않는다.) IS IN (list) list 값과 일치하지 않는다. IS NOT NULL NULL 값을 갖지 않는다. 연산자 순위는 괄호 > 비교, SQL 연산자 > NOT 연산자 > AND > OR 순으로 이루어진다.
예시
SELECT NAME AS '사용자' FROM USERS WHERE NO > 1; SELECT * FROM USERS WHERE NAME IN('김철수'); SELECT * FROM USERS WHERE NAME LIKE '김%';
첫째 줄은, USERS 테이블의 NO 속성의 값이 1 초과인 것들의 NAME 속성만을 출력해준다.
두번째 줄은, USERS 테이블의 NAME 속성에서 '김철수'라고 일치하는 데이터가 있으면 튜플을 출력해준다.
세번째 줄은, USERS 테이블의 NAME 속성에서 '김'으로 시작되는 데이터가 있으면 튜플을 출력해준다.
반응형'IT Tech > DB' 카테고리의 다른 글
데이터 모델링 (0) 2021.01.04 DDL, DML, DCL, TCL (0) 2020.12.21 SELECT 문 (0) 2020.11.06 정규화 : 제 5 정규화 (5NF) (0) 2020.10.13 관계형 데이터베이스 용어 정리 (0) 2020.10.01