WHERE절
데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하는 데 사용
(여러 연산자를 함께 사용해 더욱 세밀하게 검색 가능)
SELECT [조회할 열1], [조회할 열2], ..., [열N 이름]
FROM [조회할 테이블명]
WHERE [조회할 행을 선별하기 위한 조건식];
WHERE의 조건식이 TRUE인 경우 출력
AND, OR 연산자
조건식을 여러 개 지정할 때 사용하는 논리 연산자 (조건식 개수는 제한이 없음)
문자열 데이터는 대·소문자 구별!
AND : 둘 다 TRUE이면 TRUE
OR : 하나만 TRUE여도 TRUE
SELECT *
FROM EMP
WHERE [조건식1] AND [조건식2] OR [조건식3];
다양한 연산자
산술 연산자
+, -, *, /
수치 연산비교 연산자
>, >=, <, <=
대소 비교
→ 숫자가 아닌 문자열에도 사용 가능 (알파벳 순서로 비교)=, !=, <>, ^=
등가 비교
→ 양쪽 데이터가 같은 값인지 확인논리 부정 연산자
NOT
: TRUE이면 FALSE, FALSE이면 TRUE
IN, BETWEEN, IS NULL 연산자와 함께 복합적으로 사용하는 경우가 많음IN 연산자
특정 열에 해당되는 데이터 값을 여러 개 조회하고자 할 경우 사용SELECT [조회할 열1], [조회할 열2], ..., [열N 이름] FROM [조회할 테이블명] WHERE 열 이름 (NOT) IN (데이터1, 데이터2, ..., 데이터N);
BETWEEN A AND B 연산자
특정 열의 최소, 최대 범위를 지정해 해당 범위 내의 데이터만 조회SELECT [조회할 열1], [조회할 열2], ..., [열N 이름] FROM [조회할 테이블명] WHERE 열 이름 BETWEEN 최소값 AND 최대값;
LIKE 연산자
문자열 일부가 포함된 데이터 조회와일드카드?
_
: 어떤 값이든 상관없이 한 개의 문자 데이터%
: 길이와 상관없이 모든 문자 데이터 (없는 경우도 포함)LIKE 'S%' : 대문자 S로 시작하는 데이터 조회
LIKE '_L%' : 두번째 문자가 L인 데이터 조회 (L 앞에 반드시 한 문자가 와야 함)ESCAPE절?
_나 %를 와일드 카드가 아닌 데이터 문자로 다룸\
(역슬래쉬) 뒤의 기호는 문자로 인식함IS NULL 연산자
! 숫자 0과 NULL을 혼동하지 않도록 주의 !
NULL은 연산 자체가 무의미하기 때문에 = 으로 비교할 수 없고,IS NULL
또는IS NOT NULL
을 통해 구별집합 연산자
UNION
(합집합) : SELECT문을 통해 조회한 결과를 하나의 집합 같이 다룰 수 있음 (중복 제거)
⇒ SELECT문이 출력하는 열 개수와 각 열의 자료형이 순서대로 일치해야 함UNION ALL
: 중복 데이터 모두 출력SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO = 10 UNION (ALL) SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO = 10
MINUS
(차집합) : 결과 값이 같은 데이터는 제외된 첫 번째 SELECT문의 결과 값 출력INTERSECT
(교집합) : 결과 값이 같은 데이터만 출력
'Programming > Database' 카테고리의 다른 글
[ORACLE 초급] 데이터 그룹화 GROUP BY절, HAVING절 (0) | 2020.09.18 |
---|---|
[ORACLE 초급] 오라클 함수 - 단일행 함수(문자, 날짜, 숫자 ...), 다중행 함수(SUM, AVG, COUNT ...) (0) | 2020.09.14 |
[ORACLE 초급] SELECT문 - SELECT, FROM, ORDER BY (0) | 2020.09.13 |
[Database] 데이터베이스 구성 요소, 오라클 특징 - 자료형, 객체 (0) | 2020.09.13 |
[Database] 데이터베이스 관련 기초 개념 '데이터베이스', 'DBMS', '데이터 모델', 'SQL' (0) | 2020.09.01 |