DataBase
-
oracle 뷰DataBase/oracle 2020. 3. 21. 17:58
View : table 과 유사하며 테이블처럼 사용한다 테이블과는 달리 데이터를 저장하기위한 물리적은 공간이 필요하지않은 가상테이블(vitual table)이다 데이터를 물리적으로 갖지 않지만 논리적인 집합을 갖는다! 테이블과 마찬가지로 select , insert, update, delete 명령이 가능하다 뷰를 생성할 때 create 명령으로 생성한다 View 의 활용이유 1) 보안관리를 위한 뷰 보안 등급에 맞춰서 컬럼 및 범위를 정하여 조회 하도록 함 연산 결과만 제공하고 알고리즘을 숨기기 위해 사용 selectList 를 함수로 가공하여 update, insert를 못하도록 함 테이블 명이나 컬럼 명을 숨기도록 함 2) 사용편의성을 위한 뷰 검색 조건을 단순화하여 사용할 수 있도록 함 조인을 단..
-
oracle 제약조건DataBase/oracle 2020. 3. 21. 16:46
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 /* 컬럼속성(무결성 제약조건) not null : 널값 입력되지 못하게 하..
-
oracle DMLDataBase/oracle 2020. 3. 21. 15:02
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 32 /* DML (data manipulation language) 데이타 조작어 select , delete , insert , update , */ create table sample ( deptNo number(20), deptName varchar2(15), loc varchar2(15), depManager varchar2(10) ); insert into sample (deptNo, deptName, loc, depManager) values (10, '경영', '서울', '홍길동'); alter table sample rename COLUMN..
-
oracle create, drop, alter, truncateDataBase/oracle 2020. 3. 19. 23:21
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 /* DDL(data definition langeage :: creat, drop, alter, truncate */ -- varchar : 크기를 20으로 잡아도 4만큼 데이터 지정하면 크기가 4로 변경된다 -- char : 크기를 20으로 잡으면 변경되지않고 쭉 20 DESC employees; --테이블의 구조 DESC member; CREATE TABLE employee2( employee_id number(10), name ..
-
oracle joinDataBase/oracle 2020. 3. 16. 00:38
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 /* JOIN */ -- 내부조인 (일반적인 조인) select e.first_name, e.last_name, e.email, d.department_name, d.department_id from employees e, departments d where e.department_id = d.department_id -- JOIN조건이 필요하다! order by e.first_name; SELECT *..
-
oracle group by , having , rollupDataBase/oracle 2020. 3. 15. 21:45
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 /* group by 절 */ -- distinct로 중복제거 select distinct department_id from employees; -- group by로 묶어서 출력 select department_id from employees group by department_id; -- 부서별 급여 합계 select department_id, sum(salary) from emplo..
-
oracle 날짜함수, 변환함수, decode, caseDataBase/oracle 2020. 3. 15. 19:32
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 32 33 34 35 36 37 38 -- sysdate() 현재 시스템의 날짜 select sysdate from dual; -- 20/03/15 -- months_between(data1, data2) 두개의 파라미터를 이용하여 두 날짜 사이의 개월수 계산 select first_name, last_name, months_between(sysdate, hire_date) from employees where department_id = 50; -- add_months() 현재 날짜에서 7개월 더하기 select add_months(sysdate, 7) ..