기록 저장소
2/21 [Database #2] Select_기본문법 본문
* desc [table] : 해당 테이블의 설명 (커멘드에서 사용하는 오라클 명령어임)
* DB에서의 대/소문자 : 데이터만 구분됨 (column이름은 구분X)
[ 검색문 (select) ]
1. 실행순서
select | 2 | 3 | 3 | 5 |
from | 1 | 1 | 1 | 1 |
where | 2 | 2 | 2 | |
group by | 3 | |||
having | 4 | |||
order by | 4 | 6 |
1) from
(1) 기본 형태
select [all | distrinct] ( * | col1 [[as] "alias"] [, col2, ... colN] )
from table_name;
* [ ] 는 생략해도 되는 부분이란 의미임.
* | : a or b
▷ distinct : 중복행 제거
- select 절의 맨 앞에만 나옴. column을 여러개 입력하더라도 전체에 걸쳐 적용됨 (기본값은 : all)
-- 부서번호 (employees 기준, 중복제거)
select distinct department_id, employee_id
from employees;
▷ * : 테이블 전체 출력
-- jobs 테이블의 전체 출력
select *
from jobs;
▷ select col1, col2, col3, ... : 특정 column 출력
-- 직책, 최소 급여 출력
select job_id, min_salary
from jobs;
▷ alias : 별칭. as와 "는 생략 가능 (but, "의 경우 별칭에 공백이 있을 때에는 반드시 사용해야 함)
* 홑따옴표는 인수에 쓰는 것!! 구분에 유의할 것
-- 사번, 이름, 급여, 200인상 급여(급여 200)
select employee_id as "사번", first_name "사번", salary 사번, salary + 200 "급여 200"
from employees;
▷ 산술연산 가능
* oracle 산술연산에서는 / 가 나머지 연산자 아님!!
-- 산술연산
select 1+1, 10-5, 2*10, 10/3
from dual;
▷ dual : test용 테이블
- from 뒤에 table 식별자를 입력해버리면 해당 테이블의 컬럼 수만큼 값이 반환됨
.png)
2) 관련함수
(1) nvl : 인수1의 값이 null일 때, 인수2의 값을 반환
nvl ( col_name, number )
▷ 예제
-- 사번, 이름, 급여, 커미션 포함 급여
select employee_id, first_naem, salary, salary*(1 + nvl(commission, 0)
from employees;
* DB에서의 null값은 알수 없음을 의미함 (프로그래밍에서의 만들어지지 않았다와 다른 의미임)
(2) || : 문자열 합치기(파이프 연산)
- 컬럼이 아닌 문자열을 입력할 때는 '' 사용함 (""는 별칭에만 사용!!)
▷ 예제
-- 사번, 이름(풀네임)
select employee_id, first_name || ' ' || last_name
from employees;
-- 사번이 100번인 사원의 이름은 Steveen King입니다.(info)
select '사번이 ' || employee_id || '번인 사원의 이름은 ' || first_name || ' ' || last_name || '입니다.'
from employees;
- end.
'kitri 노트 > oracle' 카테고리의 다른 글
2/27[ Database#6] Join (0) | 2019.03.10 |
---|---|
2/26 [Database#5] 일반/ 그룹함수, Join (0) | 2019.03.10 |
2/25 [Database #4] 숫자/ 날짜/ 변환 함수 (0) | 2019.03.10 |
2/22 [Database #3] where, order by (0) | 2019.03.10 |
2/20 [Database #1] Oracle & SQL Developer 설치 (0) | 2019.03.03 |