ORACLE 공부 5일차 2020/08/11
2020-08-11
01)
SELECT 문 사용형식
SELECT *| [DISTINCT] 컬럼명 [AS]["] 컬럼별칭["],
FORM 테이블명 [테이블 별칭], [.........]
[WHERE 조건 [AND | OR 조건 ] ...........]
[GROUP BY 컬럼명 [, 컬럼명 , ...............]
[HAVING 조건]
[ORDER BY 컬럼명 | 컬럼 INDEX, .......];
1. 조건
1)관계 연산자를 사용하여 조건문 구성
개발언어의 if문에 사용되는 조건문과 동일
>, <, >=, <=, !(<>), = 사용
2)논리 연산자 (NOT(!), AND, OR)
복수개의 조건문을 구성
3)기타 연산자
ANY, SOME, IN, ALL, EXISTS 등이 제공됨
IN연산자
컬럼 값이 복수개로 주어진 값 중 어느 하나와 일치하면 전체가 참(TRUE)을 반환
(사용형식)
컬럼명(표현식) IN (값1, 값2, ........)
-OR 연산자로 변환 가능
select A.EMP_NAME AS 사원명,
A.DEPARTMENT_ID AS 부서코드,
B.DEPARTMENT_NAME AS 부서명,
C.JOB_TITLE AS 직무명
FROM EMPLOYEES A, DEPARTMENTS B, JOBS C
WHERE A.DEPARTMENT_ID IN(30, 40, 60)
-- WHERE (A.DEPARTMENT_ID = 30
--OR A.DEPARTMENT_ID = 40
-- OR A.DEPARTMENT_ID = 60) 를 IN으로 줄인다
AND A.DEPARTMENT_ID = B.DEPARTMENT_ID
AND A.JOB_ID = C.JOB_ID;
ANY(SOME) 연산자 (IN을 =ANY로 사용가능)
컬럼 값이 복수개로 주어진 값 중 어느 하나와 일치하면 전체가 참(TRUE)을 반환
(사용형식)
컬럼명(표현식) 관계연산자 ANY (값1, 값2, ........)
-OR 연산자로 변환 가능
-IN 연산자로 변환 할 때 관계연산자는 생략
select A.EMP_NAME AS 사원명,
A.DEPARTMENT_ID AS 부서코드,
B.DEPARTMENT_NAME AS 부서명,
C.JOB_TITLE AS 직무명
FROM EMPLOYEES A, DEPARTMENTS B, JOBS C
WHERE A.DEPARTMENT_ID =ANY(30, 40, 60)
-- WHERE (A.DEPARTMENT_ID = 30
--OR A.DEPARTMENT_ID = 40
-- OR A.DEPARTMENT_ID = 60) 를 ANY으로 줄인다
AND A.DEPARTMENT_ID = B.DEPARTMENT_ID
AND A.JOB_ID = C.JOB_ID;