본문 바로가기

DBMS

Product drop table product purge; drop table sales purge; drop sequence product_seq; drop sequence sales_seq; create sequence product_seq start with 1000 maxvalue 9999 increment by 1 nocycle nocache; create sequence sales_seq start with 1000 maxvalue 9999 increment by 1 nocycle nocache; create table product ( product_idx number default product_seq.nextval primary key, -- 상품번호 product_name varchar2(100) .. 더보기
Join(Inner, Outer, Full) select E.first_name, -- D.department_id d.department_name from employees E -- join을 할려면 서로 공통점을 가지고 있어야 한다 -- 그래서 서로 다른 테이블의 공통점을 찾아야함 -- id에서 null은 포함되지 않음 -- 양쪽 다 null이 아닌 정보만 가져온다(교집합) (106) join departments D on e.department_id = d.department_id; select E.first_name, -- D.department_id d.department_name from employees E inner join departments D on e.department_id = d.department_id; select E... 더보기
연도별 입사 인원수 체크 select * from employees; select * from tab; --연도별 입사 인원수 체크 select extract(year from hire_date) as YYYY, count(*) as 입사인원수 -- extract(month from hire_date) as MM, -- extract(day from hire_date) as DD from employees group by extract(year from hire_date) order by YYYY; -- 부서병에 따른 인원수를 구하세요 select -- E.*, D.department_name as 부서명, count(*) as 인원수 from employees E join departments D on E.department_.. 더보기
제약조건과 시퀀스 오라클 제약조건 테이블의 컬럼에 대하여 특정 조건을 부여하는 형식 primary key 기본키 (unique + not null) - 여러 줄의 데이터중에서 하나만 가져올 수 있는 키 unique 고유키 (중복될 수 없음) - 중복되면 안되는 속성 (상품의 이름) not null 빈 값을 넣을 수 없다 - 일반 컬럼은 값을 넣지 않을 수도 있다 (null) default 기본값을 지정한다 - 직접 insert 하지 않아도 들어가는 기본값을 지정 - 등록날짜 - 레코드의 고유 번호 check 특정 조건을 만족해야 한다 - 특정 범위, 특정 조건을 만족하는 값만 넣을 수 있다 - 성별, 가격, 날짜 foreign key 다른 테이블의 값을 참조해야 한다 - 이미 등록된 다른 테이블의 값이 있어야 등록할 수 .. 더보기
중간정리 DDL (create, alter, drop, truncate) DML (select, insert, update, delete) DCL (commit, rollback, grant, revoke) create table create sequence drop table drop sequence 오라클 자료형 (number, varchar2, date, char) - where - join ... on - group by ... having - order by ... asc/desc - extract(YEAR/MONTH/DATE/HOUR/MINUTE/SECOND from column) - floor(floating number) - sum, avg, max, min, cnt - || (문자열 더하기) - .. 더보기
HR1, HR2 HR1 select * from employees; -- 오라클에서 문자열끼리 더하려면 || 기호를 사용한다 -- as 를 이용하여 컬럼이름을 내가 원하는 형태로 수정할 수 있다 select first_name, last_name, salary from employees; select first_name || ' ' || last_name as name, salary from employees; select max(salary) from employees; -- 가장 높은 급여 select max(hire_date) from employees; -- 가장 나중에 입사한 날짜 select min(salary) from employees; -- 가장 낮은 급여 select min(hire_date) from.. 더보기
recyclebin select * from tab; select * from product; select * from recyclebin; -- 휴지통 purge recyclebin; drop table product purge; flashback table product to before drop; 더보기
Product product create table product ( idx number, namevarchar2(100), pricenumber, expiryDatedate, memovarchar2(2000) ); insert into product values ( 1, '코카콜라(캔) 190ml', 900, '24/04/01', '코카콜라 캔 소형' ); insert into product values (2, '코카콜라(PET) 500ml', 1500, '24/04/01', '코카콜라 PET 중형'); insert into product values (3, '코카콜라(PET) 1.5L', 2800, '24/04/01', '코카콜라 PET 대형'); insert into product values (4, '스프라이트.. 더보기
SQL, DDL, DML, DCL 오라클에서 사용하는 자료형 SQL (Structured Query Language) DDL (Data Definition Language, 데이터 정의어) 데이터베이스 객체를 생성, 수정, 삭제 - create : 구조 생성 - alter : 구조 변경 - drop : 구조 삭제 - truncate (테이블) DML (Data Manipulation Language, 데이터 조작어) 데이터베이스 객체에 데이터를 삽입, 읽기, 수정, 삭제 - insert : 구조 안에 데이터를 삽입 - select : 구조 안에 있는 데이터를 불러오기 - update : 구조 안에 있는 데이터 수정 - delete : 구조 안에 있는 데이터 삭제 DCL (Data Control Language, 데이터 제어어) 데이터베이스 객체를 제어하기 위한 언.. 더보기
[데이터베이스] product, saels drop table product purge; drop table sales purge; drop sequence product_seq; drop sequence sales_seq; create sequence product_seq start with 1000 maxvalue 9999 increment by 1 nocycle nocache; create sequence sales_seq start with 1000 maxvalue 9999 increment by 1 nocycle nocache; create table product ( idx number default product_seq.nextval, -- 상품번호 name varchar2(100) not null, -- 상품이름 price numb.. 더보기
Product, sales join 더보기
[데이터베이스] hr select department_id, first_name from employees; select department_id, department_name from departments; select count(*) from employees; -- 107 select count(*) from departments; -- 27 select E.department_id, D.department_name, E.first_name from employees E, departments D; select E.department_id, E.first_name, D.department_name, E.salary from employees E join departments D on D.department_id =.. 더보기