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;
728x90
'Programming > SQL' 카테고리의 다른 글
[Oracle] SELECT문 함수(2) - 이메일 ID만 조회, 주민등록번호 마스킹 처리 조회 / LPAD / RPAD (0) | 2024.01.18 |
---|---|
[Oracle] SELECT문 함수(1) - LENGTH / LENGTHB / INSTR / SUBSTR (0) | 2024.01.18 |
[Oracle] SELECT문 기본문법(4) - IS NULL / IN / 연결연산자( || ) / ORDER BY절 / 연산자 우선순위 (0) | 2024.01.17 |
[Oracle] SELECT문 기본문법(3) - 논리연산자(AND, OR) / BETWEEN AND / LIKE (0) | 2024.01.17 |
[Oracle] SELECT문 기본문법(2) - DISTINCT / WHERE절 / 비교연산자 (0) | 2024.01.17 |