Programming/SQL

[Oracle] SELECT문 기본문법(1) - 산술연산 / 별칭(AS) / 컬럼값을 통한 산술 연산 / SYSDATE 오늘날짜 / 리터럴

Jayna. 2024. 1. 17. 14:35
728x90

 
 
 

들어가기 전에...
쿼리 작성시 대, 소문자 구분은 상관없지만, 보통은 대문자로 작성함 

 

SELECT

 데이터를 조회하거나 검색할때 사용되는 명령어
명령어, 키워드, 테이블명, 컬럼명은 대소문자를 가리지 않음

SELECT 조회하고자 하는 컬럼, 컬럼, 컬럼, ...
  FROM 테이블명;
/*
여러줄 주석
*/

-- 한줄 주석

-- 예제
-- 1. JOB 테이블의 모든 컬럼 조회
SELECT *
  FROM JOB;
  
-- 2. JOB 테이블의 직급명 컬럼만 조회
SELECT JOB_NAME
  FROM JOB;
  
-- 3. DEPARTMENT 테이블의 모든 컬럼 조회
SELECT * 
  FROM DEPARTMENT;

-- 4. EMPLOYEE 테이블의 직원명, 이메일, 전화번호, 입사일 컬럼 조회
SELECT EMP_NAME, EMAIL, PHONE, HIRE_DATE
  FROM EMPLOYEE;

 

728x90

컬럼명에 별칭 정하기

  AS는 붙이든 안붙이든 상관없지만 별칭에 특수문자, 띄어쓰기가 포함될 경우 반드시 " " 묶어서 표기해야 함

 1) 컬럼명 AS 별칭
 2) 컬럼명 AS "별칭"
 3) 컬럼명 "별칭"
 4) 컬럼명 별칭

SELECT EMP_NAME 이름, SALARY AS "급여(월)", BONUS AS 보너스
  FROM EMPLOYEE;

컬럼값을 통한 산술 연산

조회하고자하는 컬럼들을 나열하는 SELECT절에 산술연산( +, -, *, /)을 기술하여 결과를 조회할 수 있다.

-- EMPLOYEE 테이블로부터 직원명, 월급, 연봉(= 월급 * 12) 조회
SELECT EMP_NAME, SALARY, SALARY * 12 AS 연봉
  FROM EMPLOYEE;
  
-- EMPLOYEE 테이블로부터 직원명, 월급, 보너스, 보너스가 포함된 연봉 조회
-- ((월급 + (보너스 * 월급)) * 12)
SELECT EMP_NAME, SALARY, BONUS, ((SALARY + (BONUS*SALARY))*12) AS "보너스가 포함된 연봉"
  FROM EMPLOYEE;
  
-- DATE 타입끼리도 연산 가능 (DATE => 년, 월, 일, 시, 분, 초)
-- EMPLOYEE 테이블로부터 직원명, 입사일, 근무일수(오늘날짜 - 입사일) 조회
-- SYSDATE 함수 : 오늘날짜 조회
SELECT EMP_NAME, HIRE_DATE, SYSDATE - HIRE_DATE AS 근무일수
  FROM EMPLOYEE;
-- 결과값은 일 수 단위로 출력
-- 값이 지저분한 이유는 DATE타입 안에 포함되어 있는 시, 분, 초에 연산이 수행되기 때문

리터럴

임의로 지정한 문자열(' ') 을 SELECT절에 기술하면 실제 그 테이블에 존재하는 데이터처럼 조회 가능

SELECT EMP_ID, EMP_NAME, SALARY, '원'단위
  FROM EMPLOYEE;

 
 
 

 

[Oracle] SELECT (2) - DISTINCT / WHERE절 / 비교연산자

2024.01.17 - [Programming/SQL] - [Oracle] SELECT문 (1) - 산술연산 / 별칭(AS) / 컬럼값을 통한 산술 연산 / SYSDATE 오늘날짜 / 리터럴 DISTINCT 조회하고자 하는 컬럼의 중복된 값을 딱 한번씩만 조회할 때, 해당 컬

jaynarecord.tistory.com

 

[Oracle] SELECT문 (3) - 논리연산자(AND, OR) / BETWEEN AND / LIKE

[Oracle] SELECT (2) - DISTINCT / WHERE절 / 비교연산자 2024.01.17 - [Programming/SQL] - [Oracle] SELECT문 (1) - 산술연산 / 별칭(AS) / 컬럼값을 통한 산술 연산 / SYSDATE 오늘날짜 / 리터럴 DISTINCT 조회하고자 하는 컬럼의

jaynarecord.tistory.com

 

[Oracle] SELECT문 (4) - IS NULL / IN / 연결연산자( || ) / ORDER BY절 / 연산자 우선순위

[Oracle] SELECT문 (3) - 논리연산자(AND, OR) / BETWEEN AND / LIKE [Oracle] SELECT (2) - DISTINCT / WHERE절 / 비교연산자 2024.01.17 - [Programming/SQL] - [Oracle] SELECT문 (1) - 산술연산 / 별칭(AS) / 컬럼값을 통한 산술 연산 / SYS

jaynarecord.tistory.com

 

728x90