[Oracle] 8.SELECT문(1)


SELECT문



이번 장에서는 데이터를 조회하는 가장 중요한 SELECT문에 관한

예제에 대해 알아보겠습니다~!

이제부터는 오라클에서 기본적으로 제공하는 hr계정을 사용해서

미리 정의된 테이블을 조회하겠습니다!

기본적인 조회




--테이블 EMPLOYEES 행 전체 조회-- 

SELECT *
FROM employees;




image




--EMPLOYEES 테이블에서  EMPLOYEE_ID와 FIRST_NAME, JOB_ID 조회--

SELECT employee_id, first_name, job_id
FROM employees;




image



산술연산자



SELECT문에 산술연산자 +,-,*,/을 사용할 수 있습니다.

-- 산술 연산자 --

SELECT
    salary + 100,
    salary - 100,
    salary * 12,
    salary / 5
FROM
    employees;




image



NULL과 관련된 함수: NVL, NVL2, NULLIF



NVL 함수는 NULL을 처리하는 함수로 NULL 대신에 다른 값을 출력할 때 사용합니다.


-- NULL 처리함수: NVL --
--COMMISSION_PCT의 값이 NULL이면 0을 출력 --

SELECT employee_id,NVL(commission_pct,0)
FROM employees;




image



NVL2 함수도 NVL과 유사하나 null이 아닐 때도 다른 값으로 바꿀 수 있습니다.


--NVL2 함수 --
--NVL2(col, expr1, expr2) col이 null이 아니면 expr1로  null이면 expr2로--

SELECT
    nvl2(commission_pct,'NULL임','NULL이 아님')
FROM
    employees;




image



NULLIF 함수는 두 표현식을 비교하여 동일하면 NULL, 아니면 첫번째 표현 식을 보여줍니다.


-- NULLIF 함수 두 표현식을 비교하여 동일하면 NULL, 아니면 첫번째 표현 식--

SELECT
    nullif('A','A'),
    nullif('A','B')
FROM
    dual;




image



별칭주기



테이블을 출력할 때 속성이름을 다른 것으로 지정할 수 있는데,

이를 별칭이라고 합니다!


-- 별칭주기(1) as --

SELECT employee_id as 직원번호, salary as 봉급
FROM employees;




-- 별칭주기(2): 띄어쓰기 --

SELECT employee_id 직원번호, salary 봉급
FROM employees;




-- 별칭주기(3): "" --

SELECT employee_id "직원번호",salary "봉급"
FROM employees;



별칭을 ““으로 주면 띄어쓰기가 된 문자열로도 별칭을 줄 수 있습니다.

세 경우 모두 실행결과는 같습니다.


image



|| 연산자



|| 연산자는 문자열을 합쳐줍니다.


-- || 연산자 --

SELECT first_name||'의 직급은'||salary||'원 입니다.'
FROM employees;




image



DISTINCT



DISTINCT는 중복되는 것은 한번만 출력시킵니다!


-- DISTINCT --

SELECT DISTINCT department_id "부서번호"
FROM employees;




image