IT’s Portfolio

[Lecture] DataBase - SQL Assignment 본문

Development Study

[Lecture] DataBase - SQL Assignment

f1r3_r41n 2023. 4. 16. 13:54
728x90
반응형

<2023년 1학기 SQL 문제>

1. 고객 테이블을 생성하시오. 
- 구성 : 고객아이디, 고객이름, 나이, 등급, 직업, 적립금 속성
- 기본키 : 고객아이디 속성
- 이름과 등급 속성은 반드시 값이 있어야 함
- 적립금 속성은 값이 없을 시 0이 기본으로 입력되어야 함
- create table Customer(
id varchar(20) not null,
name varchar(20) not null,
age int,
class varchar(10) not null,
job varchar(20) not null,
reserves int not null default 0,
primary key(id)
);

2. 제품 테이블을 생성하시오. 
- 구성 : 제품번호, 제품명, 재고량, 단가, 제조업체 속성
- 기본키 : 제품번호 속성
- 재고량이 항상 0개 이상 10,000개 이하를 유지
- create table Product(
serial char(3) not null,
name varchar(20),
inventory int,
price int,
manufacturer varchar(20),
primary key(serial),
check(inventory between 0 and 10000)
);

3. 주문 테이블을 생성하시오. 
- 구성 : 주문번호, 주문고객, 주문제품, 수량, 배송지, 주문일자 속성
- 기본키 : 주문번호
- 주문번호 속성이 고객 테이블의 고객아이디 속성을 참조하는 외래키
- 주문제품 속성이 제품 테이블의 제품번호 속성을 참조하는 외래키
- create table Order(
number char(3) not null,
customer varchar(20),
product char(3),
quantity int,
address varchar(30),
day date,
primary key(number),
foreign key(customer) references Customer(id),
foreign key(product) references Product(serial)
);

4. 배송업체 테이블을 생성하시오. 
- 구성 : 업체번호, 업체명, 주소, 전화번호 속성
- 기본키 : 업체번호
- create table TransportCompany(
number char(3) not null,
name varchar(20),
address varchar(100),
call varchar(20),
primary key(number)
);

5. 제품 테이블의 모든 것을 보이시오.
- select * from Product;

6. 고객 테이블의 고객아이디, 고객이름, 직업을 보이시오.
- select id, name, job from Customer;

7. 제품 테이블의 제조업체를 보이시오.(중복제거)
- select distinct manufacturer from Product;

8. 주문 테이블의 주문번호, 주문제품, 수량*2(별칭 amount), 배송지를 보이시오.
- select number, product, quantity*2 as amount, address from Order;

9. 적립금이 3000이상인 고객에 대해 고객아이디, 고객이름, 등급을 보이시오.
- select id, name, class from Customer where reserves>=3000;

10. 제조업체가 '대한식품'이 아닌 제품명과 재고량을 보이시오.
- select name, inventory from Product where manufacturer is not '대한식품';

11. 수량이 10에서 20사이인 주문번호, 주문제품, 주문고객을 보이시오.
- select number, product, customer from Order where quantity between 10 and 20;

12. 나이가 null 인 고객아이디와 고객이름, 등급, 직업을 보이시오.
- select id, name, class, job from Customer where age is null;

13. 직업이 학생이거나 교사인 고객이름과 등급을 보이시오.
- select name, class from Customer where job is '학생' or job is '교사';

14. 배송지가 경기도인 주문고객과 주문일자를 보이시오.
- select customer, day from Order where address like '경기도%';

15. 고객테이블에서 고객아이디의 2번째 글자가 'a'인 고객아이디, 고객이름을 보이시오.
- select id, name from Customer where id like '_a%';

16. 여행 테이블을 작성하시오.
  속성 : 코드번호(기본키), 지역, 날짜, 숙소, 인원
- create table Traveling(
code char(3) not null,
    region varchar(20),
    day date,
    lodging varchar(10),
    personnel int,
primary key(code)
);

17. 여행 테이블에 항공사 속성을 추가하시오. (기본값은 '서일항공'으로 설정)
- alter table Traveling add airline varchar(10) default '서일항공';

18. 여행 테이블의 숙소 속성을 삭제하시오.
- alter table Traveling drop column lodging;

19. 여행 테이블의 인원 속성의 제약 조건을 1에서 4로 지정하시오.
- alter table Traveling add constraint chk_personnel check(personnel between 1 and 4);

20. 여행 테이블을 삭제하시오.
- drop table Traveling;

728x90
반응형
Comments