본문 바로가기

분류 전체보기109

[오라클] 부모 자식 테이블 및 제약조건 부모 자식 테이블 관계 두 테이블간 특정 컬럼을 부모-자식관계로 연동시킬 수 있다. 이 경우 부모 테이블의 해당 컬럼에는 자식 컬럼에 있는 값만이 입력될 수 있다. 테이블 값이 제거될 때 자식 테이블의 데이터가 삭제될 때, 연동된 부모 테이블 값을 어떻게 처리할 지를 정의해주어야 한다. 부모 테이블을 생성할 때 이를 설정할 수 있다. 부모 테이블의 값은 삭제하는데 제한이 없다. 1. ON DELETE SET NULL create table shop_buy( buy_no number primary key, user_id varchar2(20) REFERENCES shop_member (user_id) on delete set null, -- shop_member 제거시 null로 설정 product var.. 2021. 3. 10.
[오라클] 테이블 삭제하기 drop table mytable; 2021. 3. 10.
[SQL] 테이블 합치기 MERGE MERGE의 기본 틀 merge into t1 using t2 on(t1.id = t2.id) when matched then -- 동일할 경우 update set t1.name = t2.name when not matched then -- 동일하지 않을 경우 insert values(t2.id, t2.name); merge into t1 using t2 t2를 가져다 t1테이블에 합친다. on (t1.id = t2.id) t1테이블의 id값과 t2테이블의 id값을 비교해서 when matched then 비교한 값이 동일하면 update set t1.name = t2.name t1테이블의 name컬럼값을 t2테이블의 name컬럼값으로 대치한다. when not matched then 비교한 값이 다르면.. 2021. 3. 10.
[SQL] 테이블에 데이터 추가하기 1. 모든 컬럼의 데이터를 빠짐없이 추가할 때 insert into employee values(100, '홍길동', '800101-1234567', 'gildong@gmail.com', '01055556666'); insert into {tablename} values(열1값, 열2값 ...); 모든 컬럼의 값을 추가할 때는 컬럼명을 입력할 필요가 없다. 2. 특정 컬럼에만 데이터를 추가할 때 3. 여러 테이블에 동시에 추가할 때 insert all into emp_dept_d1 values(emp_id, emp_name, dept_code, hire_date) into emp_manager values(emp_id, emp_name, manager_id) select emp_id, emp_name, .. 2021. 3. 10.
[오라클] 순위 가져오기 중복된 순위 갯수만큼을 다음 행의 순위에 더해주기 - RANK() OVER select emp_name, salary * 12 as "연봉", RANK() over (order by salary desc) as "순위" from employee; 3순위 동점자가 3명일 경우, 순위는 1, 2, 3, 3, 3, 6, 7, 8 ... 이 된다. 실행 결과 중복된 순위가 있더라도 다음 순위는 1만 더해주기 - DENSE_RANK() OVER select emp_name, salary * 12 "연봉", DENSE_RANK() over (order by salary desc) "순위" from employee; 3순위 동점자가 3명일 경우, 1, 2, 3, 3, 3, 4, 5, 6 ... 이 된다. 실행 결과 2021. 3. 10.