デベチュ0419

6402 ワード

tableを初期化してから続行する必要があります.
整理した注釈=>タイプしやすい
四題を叙述する
sql 10問題
関連する付属クエリー=>セクションのクエリーは、サブクエリーとしてローに入ります.
/*
1-1
데이터베이스는 자료를 보다 효율적으로 관리를 하기위해 존재한다.
1-2
DBMS는 관계형데이터베이스로, 테이블 사이의 관계를 형성해 자료 관리 및 이용을 할 수 있게 한다.
1-3
DBMS에서의 KEY는 슈퍼키, 후보키, 기본키가 있다.
슈퍼키는 튜플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합을 말한다.
튜플을 유일하게 식별할 수 있으면 모두 슈퍼키가 된다.
후보키는 튜플을 유일하게 식별할 수 있는 속성의 최소 집합이다. 
기본키는 여러 후보키 중 하나를 선정해 대표로 삼는 키이다.
후보키가 하나 뿐이라면 그 후보키를 기본키로 사용하면 되고 여러개 라면 릴레이션의 특성을 반영해 하나 선택하면 된다. 
*/

# 2-1 
ALTER TABLE Book ADD isbn integer;

INSERT INTO Book(bookid, bookname, publisher, price, isbn)
   VALUES (11, '내가가장좋아하는책', '유다영', 500, 20011109);
-- 2-2
SELECT * FROM Book;
SELECT * FROM orders;

SELECT orderdate, COUNT(orderid)
FROM Orders
GROUP BY orderdate
HAVING count(*) >= 2;


-------------------------------------------
# 2단계
SELECT *
FROM Orders
WHERE Orders.custid
IN (SELECT *
FROM Customer
WHERE Customer.name LIKE '박지성'
);

# 3단계
SELECT bookid
FROM Orders
WHERE Orders.custid
IN (SELECT custid
FROM Customer
WHERE orders.custid=Customer.custid and Customer.name LIKE '박지성'
);

SELECT bookname
FROM Book
WHERE bookid IN(1,2,3);

SELECT bookname
FROM Book
WHERE bookid IN(SELECT bookid
FROM Orders
WHERE Orders.custid
IN (SELECT custid
FROM Customer
WHERE orders.custid=Customer.custid and Customer.name LIKE '박지성'
));


# 1단계
SELECT *
FROM Customer
WHERE Customer.name LIKE '박지성';