create table 극장(
극장번호 number(1),
극장이름 varchar2(10),
위치 varchar2(20),
primary key(극장번호)
);
drop table 극장;
create table 상영관(
극장번호 number(1),
상영관번호 number(1),
영화제목 varchar2(30),
가격 number(10),
좌석수 number(10),
primary key(극장번호, 상영관번호)
);
drop table 상영관;
create table 예약(
극장번호 number(1),
상영관번호 number(1),
고객번호 number(38),
좌석번호 number(38),
날짜 date,
primary key(극장번호, 상영관번호, 고객번호)
);
drop table 예약;
create table 고객(
고객번호 number(38),
이름 varchar2(20),
주소 varchar2(20),
primary key(고객번호)
);
drop table 고객;
insert into 극장 values(1, '롯데', '잠실');
insert into 극장 values(2, '메가', '강남');
insert into 극장 values(3, '대한', '잠실');
insert into 상영관 values(1, 1, '어려운 영화', 15000, 48);
insert into 상영관 values(3, 1, '멋진 영화', 7500, 120);
insert into 상영관 values(3, 2, '재밌는 영화', 8000, 110);
insert into 예약 values(3, 2, 3, 15, '20200901');
insert into 예약 values(3, 1, 4, 16, '20200901');
insert into 예약 values(1, 1, 9, 48, '20200901');
insert into 고객 values(3, '홍길동', '강남');
insert into 고객 values(4, '김철수', '잠실');
insert into 고객 values(5, '박영희', '강남');
select * from 극장;
select * from 상영관;
select * from 예약;
select * from 고객;
select 극장이름, 위치
from 극장;
select *
from 극장
where 위치 like '잠실';
select 이름
from 고객
where 주소 like '잠실'
group by 이름;
select 극장번호, 상영관번호, 영화제목
from 상영관
where 가격<=8000;
select *
from 고객, 극장
where 고객.주소=극장.위치;
select *
from 고객, 극장
where 주소 like 위치;
commit;
create table 극장(
극장번호 number(2),
극장이름 varchar2(10) not null,
위치 varchar2(20),
primary key(극장번호)
);
drop table 극장;
create table 상영관(
극장번호 number(2),
상영관번호 number(2) check(상영관번호 between 1 and 10),
영화제목 varchar2(30),
가격 number(10) check(가격<=20000),
좌석수 number(10),
primary key(극장번호, 상영관번호)
);
drop table 상영관;
create table 예약(
극장번호 number(1),
상영관번호 number(1),
고객번호 number(38),
좌석번호 number(38),
날짜 date,
primary key(극장번호, 상영관번호, 고객번호)
);
drop table 예약;
create table 고객(
고객번호 number(38),
이름 varchar2(20),
주소 varchar2(20),
primary key(고객번호)
);
drop table 고객;
insert into 상영관 values(1, 1, '어려운 영화', 15000, 48);
insert into 상영관 values(3, 1, '멋진 영화', 7500, 120);
insert into 상영관 values(3, 2, '재밌는 영화', 8000, 110);
insert into 예약 values(3, 2, 3, 15, '20200901');
insert into 예약 values(3, 1, 4, 16, '20200901');
insert into 예약 values(1, 1, 9, 48, '20200901');
insert into 극장 values(1, '롯데', null);
insert into 극장 values(2, '메가', '강남');
insert into 극장 values(3, '대한', '잠실');
insert into 고객 values(3, '홍길동', '강남');
insert into 고객 values(4, '김철수', '잠실');
insert into 고객 values(5, '박영희', '강남');
select * from 극장;
select * from 상영관;
select * from 예약;
select * from 고객;
select count(위치)
from 극장;
select count(*)
from 극장;
select round(avg(가격), 1)
from 상영관;
select count(*)
from 예약
where to_char(날짜, 'yymmdd') like '200901';
commit;
select * from 극장;
select * from 상영관;
select * from 예약;
select * from 고객;
update 극장
set 위치 ='잠실'
where 극장이름 ='롯데';
update 상영관
set 가격 = 16000
where 영화제목 ='어려운 영화';
commit;
delete
from 고객
where 이름 ='박영희';
commit;
insert into 고객 values(5, '박영희', '강남');
rollback;
commit;
select 영화제목
from 극장 , 상영관
where 극장.극장번호=상영관.극장번호 and 극장이름 like '대한';
select 이름
from 예약, 고객, 극장
where 예약.고객번호=고객.고객번호 and 극장.극장번호=예약. 극장번호 and 극장이름 like '대한';
select 극장번호
from 극장
where 극장이름 like '대한';
select 고객번호
from 예약
where 극장번호 in(select 극장번호
from 극장
where 극장이름 like '대한');
select 이름
from 고객
where 고객번호 in(select 고객번호
from 예약
where 극장번호 in(select 극장번호
from 극장
where 극장이름 like '대한'));
select sum(가격)
from 극장, 상영관
where 극장.극장번호=상영관.극장번호 and 극장이름 like '대한';
select * from 극장;
select * from 상영관;
select * from 예약;
select * from 고객;
select 극장번호, count(상영관번호) 상영관수
from 상영관
group by 극장번호;
select 극장번호, count(고객번호)
from 예약
where 날짜 = '20/09/01'
group by 극장번호;
select 극장번호, count(고객번호)
from 예약
where to_char(날짜, 'yyyymmdd') like '20200901'
group by 극장번호;
commit;