레이블이 SQL서브쿼리인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SQL서브쿼리인 게시물을 표시합니다. 모든 게시물 표시

2020년 7월 19일 일요일

[서브쿼리/조인 LAB 2]

drop table programming cascade constraints;

drop table programmer cascade constraints;

drop table product cascade constraints;

drop table customer cascade constraints;

drop table product_order cascade constraints;

create table programming (

programming_id number(1) primary key,

programming_name varchar2(50)

);

insert into programming values (1, 'JAVA');

insert into programming values (2, 'C#');

insert into programming values (3, 'C');

insert into programming values (4, 'PYTHON');

create table programmer (

programmer_id number(1) primary key,

programmer_name varchar2(20) ,

career number(2),

programming_id number(1) not null references programming(programming_id)

);

insert into programmer values (1,'김길동',2, 1);

insert into programmer values (2,'박길동',10, 2);

insert into programmer values (3,'다길동',1, 3);

insert into programmer values (4,'헐길동',5, 1);

create table product (

product_id number(1) primary key,

product_name varchar2(20),

product_date date,

price number(10),

programmer_id number(1) references programmer(programmer_id)

);

insert into product values (1, 'ERP', '15/01/01', 1000, 1);

insert into product values (2, 'SHOPPING MALL', '15/01/22', 2000, 1);

insert into product values (3, 'ANDROID APP', '16/10/01', 3000, 2);

insert into product values (4, 'iOS APP', '16/09/01', 3000, 3);

insert into product values (5, 'NETWORK SYS', '16/09/19',1500, 3);

create table customer (

customer_id number(1) primary key,

customer_name varchar2(20)

);

insert into customer values (1, '1번고객');

insert into customer values (2, '2번고객');

insert into customer values (3, '3번고객');

insert into customer values (4, '4번고객');

insert into customer values (5, '5번고객');

-- 고객은 하루에 같은 제품을 하나만 구매가능하다.

create table product_order (

customer_id number(1) not null references customer(customer_id),

order_date date,

product_id number(1) not null references product(product_id),

cnt number(2),

constraints pk_order primary key(customer_id, order_date, product_id)

);

insert into product_order values (1, '16/05/01', 1, 1);

insert into product_order values (2, '16/05/15', 2, 2);

insert into product_order values (3, '16/05/16', 2, 5);

insert into product_order values (4, '15/12/01', 3, 2);

insert into product_order values (5, '15/11/01', 4, 1);

COMMIT;

select * from programming;

select * from programmer;

select * from product;

select * from customer;

select * from product_order;

- 프로그래밍언어별(programming_name) 프로그래머 수를 출력하세요.

(모든 프로그래밍 언어 표시, programming_name 오름차순)

PROGRAMMING_NAME COUNT(B.PROGRAMMER_ID)

----------------------- ----------------------

C 1

C# 1

JAVA 2

PYTHON 0

- NOT EXISTS를 사용하여 프로그래머가 한명도 없는 프로그래밍언어이름(programming_name)을 출력하세요.

PROGRAMMING_NAME

-------------------

PYTHON

- NOT IN을 사용하여 프로그래머가 한명도 없는 프로그래밍언어이름(programming_name)을 출력하세요.

PROGRAMMING_NAME

-------------------

PYTHON

- JAVA 프로그래머의 이름을 출력하세요.

PROGRAMMER_NAME

---------------

김길동

헐길동

- 프로그래밍이름(programming_name)별, product의 수, product의 최대가격(price)을

출력하세요.

PNAME CNT MAXPRICE

---------------- ---------- ----------

C# 1 3000

JAVA 2 2000

C 2 3000

- 프로그래머 경력3년 이상인 사람이 만든 Product을 구입한 고객의 이름을 출력하세요.

CUSTOMER_NAME

---------------

4번고객

- 프로그래밍언어별, product_name별 주문건수 합계를 출력하세요.

programming_name product_name cnt

------------------------------------------------------

C# ANDROID APP 2

JAVA SHOPPING MALL 7

C iOS APP 1

JAVA ERP 1

- product_name별, 주문년도별 주문금액 합계를 출력하세요.

(단 주문금액합계가 5000 이상인 데이터만, 주문내역이 없는 product_name도 출력 하세요.)

PRODUCT_NAME NVL(TO_ NVL(TO_C

-------------------- ------- --------

ANDROID APP 2015 6,000

SHOPPING MALL 2016 14,000

- 세로축은 product_name별, 가로축은 주문년도를 "2015년", "2016년"으로 구성하여

product_name별, 년도별 주문건수를 집계하세요.(주문건수가 없으로 0으로 표시)

product_name 2015년 2016년

---------------------------

ERP 0 1

ANDROID APP 2 0

SHOPPING MALL 0 7

iOS APP 1 0

- product_name별 구입한 고객의 이름을 콤마(,)로 구분하여 하나의 칼럼에 출력하세요.

(고객의 이름은 오름차순 정렬)

product_name customer_name

---------------------------

ANDROID APP 4번고객

ERP 1번고객

SHOPPING MALL 2번고객,3번고객

iOS APP 5번고객

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...