1. 이번주 금요일 스토리보드 발표가 있음. 오후 2시간은 팀프로젝트 과제만 하는 것이 좋음.
2. DBMS 수업. INNER JOIN, OUTER JOIN 개념을 공부 중이다.
3. SELF JOIN
4. 정보를 찾아내는 행위다. 다른 테이블에 있는 시간상영정보를 알아낸다.
5. 오늘 할 과제
- 스토리보드 점검 및 ERD 그리기
- 화요일 STUDY 코딩 문제 풀이
- GITHUB에 올리기
- 시간날 때마다 자바의 정석 복습
6. OUTER JOIN
7. commit이 자동으로 된 이유 : 설정이 되어 있기 때문임. commit을 해야지 다른 사용자가 데이터를 볼 수 있어.
커밋하지 않으면 입력한 데이터를 다른 사용자가 볼 수 없어.
8. rollback.
커밋하기 전에 rollback 하면 데이터 입력이 취소된다.
9. 스프링은 뭐야? 스프링 부트?
10. 오후 수업 시작.
11. 쿼리문 연습.
drop table if exits tb_accnt;
create table tb_accnt
(
accnt_no int
,acct_nm varchar(100) not null
,ballance_amt numeric(15,2) not null
,primary key(accnt_no)
);
select * from tb_accnt;
commit;
insert into tb_accnt values (1, '일반계좌', 15000.45);
commit;
select * from tb_accnt where accnt_no = 1;
insert into tb_accnt values (2, '비밀계좌', 35000.45);
rollback;
-----------------------
-- 여러 개의 sql 문을 전부 commit 하기
drop table if exists tb_accnt;
create table tb_accnt
(
accnt_no int
,acct_nm varchar(100) not null
,ballance_amt numeric(15,2) not null
,primary key(accnt_no)
);
insert into tb_accnt values (1, '일반계좌', 15000.45);
insert into tb_accnt values (2, '비밀계좌', 35000.45);
update tb_accnt set acct_nm = '1번 계좌' where accnt_no = 1;
update tb_accnt set acct_nm = '2번 계좌' where accnt_no = 2;
delete from tb_accnt where accnt_no = 2;
commit;
select * from tb_accnt;
----INSERT 문
drop table if exists TB_FILM_GRADE;
create table TB_FILM_GRADE
(
FILM_GRADE_NO INT primary key
,TITLE_NM VARCHAR not null
,RELEASE_YEAR INT
,GRADE_RNK INT
);
insert into TB_FILM_GRADE values(1,'스즈메의 문단속', 2023, 1);
insert into TB_FILM_GRADE values(2,' 똑똑똑 ', 2023, 2);
insert into TB_FILM_GRADE values(3,'그대이어가리', 2023, 3);
SELECT * from TB_FILM_GRADE;
commit;
insert into TB_FILM_GRADE VALUES(4, '콜 제인', 2023, 4)
returning *;
insert into TB_FILM_GRADE VALUES(5, '6번 칸', 2023, 5)
returning TITLE_NM;
commit;
-- UPDATE
drop table if exists TB_LINK;
create table TB_LINK
(
LINK_NO INT primary key
,URL VARCHAR(255) not null
,LINK_NM VARCHAR(255) not null
,DESCRPTN VARCHAR(255) not null
,last_UPDATE_DE DATE
);
commit;
insert into tb_link
values (1, 'https://www.earth.com/', '지구사이트', '홈페이지', current_DATE);
commit;
select * from TB_LINK;
insert into tb_link
values (2, 'https://www.GOOGLE.com/', '구글', '검색사이트', current_DATE)
returning *;
insert into tb_link
values (3, 'https://www.daum.com/', '다음', '포털사이트', current_DATE)
returning link_no;
commit;
select * from tb_link;
update tb_link
set link_nm = '어스닷컴'
where link_no = 1
;
commit;
select * from tb_link;
-- update 하면서 update 한 행에서 link_no 및 link_nm 컬럼을 출력하시오.
update tb_link
set link_nm = '다음닷넷'
where link_no = 3
returning link_no, link_nm
;
commit;
select * from tb_link;
-- UPDATE JOIN
drop table if exists TB_PRDT_CL;
drop table if exists TB_PRDT;
create table TB_PRDT_CL
(
PRDT_CL_NO INT primary key
, PRDT_CL_NM VARCHAR(50)
, DISCOUNT_RATE NUMERIC(3,2)
);
insert into TB_PRDT_CL values (1, 'SMART PHONE', 0.20);
insert into TB_PRDT_CL values (2, 'SMART WATCH', 0.25);
create table TB_PRDT
(
PRDT_NO INT primary key
,PRDT_NM VARCHAR(50)
,PRC NUMERIC(15)
,SALE_PRC NUMERIC(15)
,PRDT_CL_NO INT
,foreign KEY(PRDT_CL_NO) references TB_PRDT_CL(PRDT_CL_NO)
);
insert into TB_PRDT values (1, 'IPHONE 14 PRO', 1550000, null, 1);
insert into TB_PRDT values (2, 'IPHONE 14', 1250000, null, 1);
insert into TB_PRDT values (3, 'APPLE WATCH ULTRA', 1149000, null, 2);
insert into TB_PRDT values (4, 'APPLE WATCH SERIES 8', 599000, null, 2);
commit;
select * from TB_PRDT_CL;
select * from TB_PRDT;