- SELECT 문의 처리(PARSING 순서)
SELECT 컬럼명 -- ⑤ ┐
FROM 테이블명 -- ① ┘
WHERE 조건절 -- ② +
GROUP BY 절 -- ③ +
HAVING 조건절 -- ④ +
ORDER BY 절 -- ⑥ +
SELCT 컬럼명 FROM 테이블명 -> 필수
그 외 -> 옵션(있어도 그만 없어도 그만) BUT 저들의 순서가 바뀌면 안 됨
- WHERE 조건절에 해당하는 데이터만 조회
-- EMP 테이블에서 부서번호가 20번인 직원들의 데이터들 중
-- 사원번호, 사원명, 직종, 급여, 부서번호 조회
SELECT NO, NAME, POSITION, SAL, DEPTNO
FROM EMP
WHERE DEPTNO = 20;
-- EMP 테이블에서 부서번호가 20번과 30번 직원들의 데이터들 중
-- 사원번호, 사원명, 직종명, 급여, 부서번호 항목을 조회한다.
SELECT NO, NAME, POSITION, SAL, DEPTNO
FROM EMP
WHERE DEPTNO = 20 OR DEPTNO = 30;
-- WHERE DEPTNO IN (20, 30);
- 컬럼에 별칭 부여하기
테이블을 조회하는 과정에서 각 컬럼의 이름에는 별칭(ALIAS)을 부여할 수 있다.
기본 구문의 형식은 『컬럼명 AS "별칭이름"』의 형태로 작성되며 이 때, 『AS』는 생략이 가능하다.
또한, 별칭 이름을 감싸는 『""』도 생략이 가능하지만 『""』를 생략할 경우 별칭 내에서 공백은 사용할 수 없다.
공백의 등장은 해당 컬럼의 표현에 대한 종결을 의미하므로 별칭(ALIAS)의 이름 내부에 공백을 사용해야 할 경우 『""』를 사용하여 별칭을 부여할 수 있도록 한다.
-- EMP 테이블에서 직종이 CLERK 인 사원들의 사원명을 조회한다.
SELECT NAME AS "사원명"
FROM EMP
WHERE JOB = 'CLERK';
-- WHERE JOB IN ('CLERK');
-- 대소문자 엄.격.히 구분한다.
-Null
NULL 은 상태의 값을 의미하며 실제 존재하지 않는 값이기 때문에 NULL이 연산에 포함될 경우 그 결과는 무조건 NULL이다.
NULL 은 실제 존재하는 값이 아니기 때문에 일반적인 연산자(>=, <=, =, >, <, !=, <>(같지 않다), ^=(같지 않다))를 활용하여 비교할 수 없다.
SELECT NULL, NULL+2, NULL-2, NULL*2, NULL/2
FROM DUAL;
--==>> (null) (null) (null) (null) (null)
WHERE 조건절에서 NULL 활용하기
-- TBL_EMP 테이블에서 커미션(COMM, 수당)이 NULL인 직원의
-- 사원명, 직종명, 급여, 커미션 항목을 조회한다.
SELECT ENAME 사원명, JOB 직종명, SAL 급여, COMM 커미션
FROM TBL_EMP
WHERE COMM IS NULL;
-- TBL_EMP 테이블에서 커미션(COMM, 수당)이 NULL이 아닌 직원의
-- 사원명, 직종명, 급여, 커미션 항목을 조회한다.
SELECT ENAME 사원명, JOB 직종명, SAL 급여, COMM 커미션
FROM TBL_EMP
WHERE COMM IS NOT NULL;
-- WHERE NOT COMM IS NULL;
'Study📚 > Oracle' 카테고리의 다른 글
Oracle - 날짜 다루기 (0) | 2023.10.29 |
---|---|
Oracle - NVL(), NVL2(), COALESCE(), 문자열 다루기 (1) | 2023.10.24 |
Oracle - 테이블 생성하고 데이터 삽입하기 (1) | 2023.10.22 |
Oracle - DUAL 테이블, 사용자 계정 생성 (0) | 2023.10.21 |
Oracle - 오라클 서버 연결 모드 (0) | 2023.10.19 |