2023. 11. 10. 11:43ㆍDBMS
금일강의내용정리
==========================================================================
부서 : dept
코드, 이름
create table dept(
dept_code varchar2(3),
dept_name varchar2(10),
primary key(dept_code)
);
INSERT INTO dept VALUES('100', '인사과');
INSERT INTO dept VALUES('200', '자재과');
INSERT INTO dept VALUES('300', '비서실');
INSERT INTO dept VALUES('900', '임원실');
------------------------------------------------------------------------------------------------
시퀀스 : emp_seq
create sequence emp_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999
nocycle
nocache;
select * from user_sequences; => 해당 시퀀스 확인
------------------------------------------------------------------------------------------------
사원등록 : emp
시퀀스 번호, 이름, 비번, 키, 성별, 날짜
create table emp(
emp_num number not null,
emp_name varchar2(10),
emp_passwd varchar2(20),
emp_height number(5,2),
emp_gender char(1),
emp_regdate date,
dept_code varchar2(3),
primary key(emp_num),
foreign key(dept_code) references dept(dept_code)
);
INSERT INTO emp VALUES(emp_seq.NEXTVAL, '홍길동', '1111', 190.12, 'M', sysdate, '100');
INSERT INTO emp VALUES(emp_seq.NEXTVAL, '이영희', '2222', 160.12, 'F', sysdate, '200');
INSERT INTO emp VALUES(emp_seq.NEXTVAL, '김철수', '3333', 180.12, 'M', sysdate, '300');
------------------------------------------------------------------------------------------------
select emp_num, emp_name, dept_code from emp;
select * from tab; => 전체 테이블 확인
drop sequence emp_seq;
select * from user_sequences;
1개만 출력
select * from emp where rownum <= 1;
select * from emp where rownum <= 2 order by emp_num desc;
내부쿼리
데이터를 정렬한 후 => rownum 개수를 맞춰서
SELECT * FROM (select * from emp order by emp_num DESC)
where rownum <= 2;
inner join ~ on
dept, emp => 현재 테이블
내부조인
SELECT D.dept_name, E.emp_name, E.emp_regdate
FROM dept D INNER JOIN emp E ON
D.dept_code = E.dept_code;
------------------------------------------------------------------------------------------------
조인 -> 그룹화
인사과(1), 자재과(1), 비서실(1)
사원 수가 10명 이상인 부서(사원수)를 표시하시오.
SELECT D.dept_code, D.dept_name, count(E.emp_num)
FROM dept D INNER JOIN emp E ON
D.dept_code = E.dept_code
GROUP BY D.dept_code, D.dept_name
HAVING count(E.emp_num) >= 1;
------------------------------------------------------------------------------------------------
강의 내용 최종정리
1. PK, FK 사용해서 테이블생성
2. 두 테이블 inner join 해서 데이터 출력
3. group by + having절을 이용해서 원하는 데이터 출력
여기까지 금일강의내용 정리
==========================================================================
느낀점 : 잘 버텨냈다 진짜
==========================================================================
오늘의 결론
.
.
.
.
.
.
.
물러나서 조용하게 구하면 배울 수 있는 스승은 많다. 사람은 가는 곳마다 보는 것마다 모두 스승으로서
배울 것이 많은 법이다. -맹자
'DBMS' 카테고리의 다른 글
추씨의DBMS일기16편(ORACLE DB) -fin- (0) | 2023.11.13 |
---|---|
추씨의DBMS일기14편(SQLD) (0) | 2023.11.07 |
추씨의DBMS일기13편(SQLD) (0) | 2023.11.06 |
국비수업 DBMS 평가항목 (0) | 2023.11.06 |
추씨의DBMS일기12편(SQLD) (0) | 2023.11.01 |