티스토리 뷰

Database ORACLE

1122

푸른하늘댁 2017. 12. 5. 16:07

① 시작메뉴 -> 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함