[Oracle/오라클] 연산자
연산자
- 4칙연산자 (+, -, /, * )
- 관계연산자 (>, >=, <, <=, =, !=(<>))
- 논리연산자 ( AND, OR, NOT )
1) IN 연산자
- 주어진 값 중 어느 하나와 일치하면 전체가 참 ( TRUE )이 되는 연산자
- OR 연산자로 바꾸어 쓸 수 있다.
- WHERE 절의 조건 구성에 사용
컬럼명 IN (값1, 값2, ... 값n) ;
ex) 사원테이블(employees)에서 부서가 60, 40, 20번 부서에 속한 사원정보를 조회하시오.
Alias는 사원번호, 사원명, 부서번호, 입사일이다.
-- IN 연산자 사용
SELECT employee_id AS 사원번호,
emp_name AS 사원명,
department_id AS 부서번호,
hire_date AS 입사일
FROM employees
WHERE department_id IN (60,40,20);
-- ON 연산자 사용
SELECT employee_id AS 사원번호,
emp_name AS 사원명,
department_id AS 부서번호,
hire_date AS 입사일
FROM employees
WHERE department_id = 60
OR department_id = 40
OR department_id = 20;
2) ANY(SOME) 연산자
- 기능은 IN 연산자와 동일
컬럼명 관계연산자 ANY|SOME (값1, 값2, ... 값n) ;
SELECT employee_id AS 사원번호,
emp_name AS 사원명,
department_id AS 부서번호,
hire_date AS 입사일
FROM employees
--WHERE department_id =ANY (60,40,20);
WHERE department_id =SOME (60,40,20);
3) BETWEEN 연산자
- 범위를 지정하여 비교할 때 사용
- ANY 연산자로 변환 가능
- 컬럼에 저장된 값의 범위가 A ~ B 사이 값이면 참 (TRUE) 반환
컬럼명 BETWEEN A AND B ;
ex) 매입테이블(employees)에서 2005년 2월 5일부터 16일 사이에 입고된 상품정보를 조회하시오.
Alias는 날짜, 상품코드, 수량, 단가, 금액이다.
SELECT buy_date AS 날짜,
buy_prod AS 상품코드,
buy_qty AS 수량,
buy_cost AS 단가,
buy_qty * buy_cost AS 금액
FROM buyprod
WHERE buy_date BETWEEN '20050205' AND '20050216';
4) LIKE 연산자
- 패턴 비교시 사용
- 문자열 자료 비교에 사용되는 연산자
- ' % ' 와 ' _ ' 사용
- ' % ' 는 사용된 위치에서 모든 문자열과 대응
ex) '김%' : '김'으로 시작하는 모든 문자열과 대응
'%도' : '도'로 끝나는 모든 문자열과 대응
- ' _ ' 는 사용된 위치에서 모든 문자열과 대응
ex) '김_' : '김'으로 시작하고 2글자로 구성된 문자열로 두번째 글자는 모든 문자가 허용됨.
'_도' : '도'로 끝나고 2글자로 구성된 문자열로 첫번째 글자는 모든 문자가 허용됨.
ex) 거래처테이블(buyer)에서 주소지가 서울인 거래처 조회하시오,
Alias는 거래처코드, 거래처명, 주소, 담당자 이다.
--LIKE 연산자 미사용
SELECT buyer_id AS 거래처코드,
buyer_name AS 거래처명,
buyer_add1||' '||buyer_add2 AS 주소,
buyer_charger AS 담당자
FROM buyer
WHERE SUBSTR(buyer_add1,1,2) = '서울' ; --buyer_add1의 첫 글자에서 두번째 글자까지가 '서울'이면
--LIKE 연산자 사용
SELECT buyer_id AS 거래처코드,
buyer_name AS 거래처명,
buyer_add1||' '||buyer_add2 AS 주소,
buyer_charger AS 담당자
FROM buyer
WHERE buyer_add1 = '서울%' ;