티스토리 뷰
▶
① 시작메뉴 -> cmd (cmd창을 연다.)
② sqlplus 툴에 접속
> sqlplus system/0000
③ hr 유저 계정 풀기
sql> alter user hr account unlock;
④ hr 유저에 인증받기: 비밀번호 지정
sql> alter user hr identified by hr;
▶
DBMS(DataBase Management System)
: oracle, mysql, ms-sql, db2,.. tibero
▶
쿼리문의 키워드는 모든 DBMS가 동일하다.
명령문의 형태:
Query Language: select
DML(Database Manipulation Language): insert, update, delete
TCL(Transaction Control L.) - commit, rollback
▶
데이터의 관리: Table - 행,열로 구성된 2차원의 구조
DDL(Database Definition L.)
: create, drop, alter, truncate, rename
▶
권한
:DCL(Database Control L.) - grant, revoke
Query L: select
테이블: 행(row), 열(column)
▶
select 컬럼명1, 컬럼명2, 컬럼명3, ...
from 테이블명;
▶
hr 유저에 있는 테이블 목록 확인
select table_name
from user_tables;
▶
테이블의 구조확인
describe 테이블명;
describe employees
사번, 성, 명, 급여, 부서코드, 업무코드 조회
select employee_id, last_name, first_name, salary,
department_id, job_id
from employees;
마지막 명령문 재실행: / 또는 r
마지막 명령문 확인: l(L)
select 컬럼명1, 컬럼명2, 컬럼명3, ...
from 테이블명;
select employee_id, last_name, first_name,
salary, department_id, job_id
from employees;
-- 라인주석처리
모든 컬럼 조회: *
select * /*<- select절*/
from employees; /*<- from 절*/
데이터행의 제한: where 절(조건절)
우리회사 50번 부서에 속한 사원의
사번, 성, 부서코드, 급여, 입사일자 조회
select employee_id, last_name, department_id, salary, hire_date
from employees
where department_id=50;
연산자
1. 산술연산자: +-*/
사번, 성, 업무코드, 급여, 년봉 조회
select employee_id, last_name, job_id, salary,
salary * 12
from employees;
2. 비교연산자: >, <, >=, <=, =, !=( <> )
우리회사에서 년봉이 120,000 인 사원의
사번, 성, 업무코드, 부서코드, 급여 조회
select employee_id, last_name, job_id, department_id, salary
from employees
where salary*12 <= 35000;
3. 연결연산자: ||
문자데이터의 표현: ''
사번, 성명, 이메일 조회
select employee_id, first_name ||' '|| last_name as name,
email, salary*12 annual
from employees;
alias: 컬럼의 표현이 길때, 연산이 들어갈때 사용
1. 컬럼표현 뒤에 as alias명
2. 컬럼표현 뒤에 공백을 두어 alias명
성이 King 인 사원의
사번, 명, 부서코드, 급여, 업무코드 조회
select employee_id, first_name, department_id, salary, job_id
from employees
where last_name = 'King';
문자데이터, 날짜데이터 표현: ''
2002년 6월 7일 에 입사한 사원의
사번, 성, 입사일자, 부서코드 조회
select employee_id, last_name, hire_date, department_id
from employees
where hire_date = '2002-06-07';
4. 조건연산자: and, or
90번 이상의 부서에 속해있고 급여가 10000 이상인 사원의
사번, 성, 부서코드, 급여 조회
select employee_id, last_name, department_id, salary
from employees
where department_id>=90 and salary>=10000 ;
90번 이상의 부서에 속해있거나 급여가 10000 이상인 사원의
사번, 성, 부서코드, 급여 조회
select employee_id, last_name, department_id, salary
from employees
where department_id>=90 or salary>=10000 ;
급여가 8000 이상 10000 이하에 해당하는 사원의
사번, 성, 부서코드, 급여 조회
select employee_id, last_name, department_id, salary
from employees
where salary>= 8000 and salary<=10000;
미만 초과
급여가 8000 미만 10000 초과에 해당하는 사원의
사번, 성, 부서코드, 급여 조회
select employee_id, last_name, department_id, salary
from employees
where salary < 8000 or salary>10000;
5. 범위연산자:
이상~이하에 해당하는 범위: 컬럼표현 between A and B
select employee_id, last_name, department_id, salary
from employees
where salary between 8000 and 10000;
미만 초과에 해당하는 범위: 컬럼표현 not between A and B
not 컬럼표현 between A and B
select employee_id, last_name, department_id, salary
from employees
where salary not between 8000 and 10000;
사번이 100, 112, 113, 115, 116 인 사원의
사번, 성, 부서코드 조회
select employee_id, last_name, department_id
from employees
where employee_id=100 or employee_id=112 or employee_id=113 or
employee_id=115 or employee_id=116;
6. in 연산자: 컬럼표현 in ( 데이터값의 목록 )
or 연산자로 동일한 컬럼에 대한 일치하는 데이터로 제한하는 경우
select employee_id, last_name, department_id
from employees
where not employee_id in (100, 112, 113, 115, 116);
컬럼표현 not in ( 데이터값의 목록 )
not 컬럼표현 in ( 데이터값의 목록 )
7. like 연산자 : 특정 문자열이 포함된 데이터 조회 %와 함께 사용해야 한다.
이름에 홍으로 시작하는 이름을 조회: 컬럼표현 like '홍%'
홍, 홍시, 홍명보, 홍수완무....
이름에 홍으로 끝하는 이름을 조회: 컬럼표현 like '%홍'
홍, 다홍, 황선홍, 무......홍
이름에 홍이 포함된 이름을 조회: 컬럼표현 like '%홍%'
홍, 홍시, 홍명보, 홍수완무.. , 김홍도, ..홍, 다홍, 황선홍, 무......홍
성이 K로 시작하는 성을 갖는 사원의
사번, 성 조회
select employee_id, last_name
from employees
where last_name like 'K%';
성이 s로 끝나는 성을 갖는 사원의
사번, 성 조회
select employee_id, last_name
from employees
where last_name like '%s';
성에 문자s가 포함된 성을 갖는 사원의
사번, 성 조회
select employee_id, last_name
from employees
where last_name like '%s%';
성에 문자s가 포함되지 않는 성을 갖는 사원의
사번, 성 조회
select employee_id, last_name
from employees
where last_name not like '%s%';
--where not last_name like '%s%';
'Database ORACLE' 카테고리의 다른 글
프로시저 procedure (0) | 2017.12.06 |
---|---|
1130 (0) | 2017.12.05 |
1127 (0) | 2017.12.05 |
1123 (0) | 2017.12.05 |