조인검색 : 여러개의 테이블을 연결하여 데이터를 검색하는 것
-연결하려는 테이블간 조인속성 이름은 달라도 되지만, 도메인은 같아야함.
-외래키를 조인 속성으로 이용함.
-FROM절에 검색에 필요한 테이블 나열
-WHERE절에 조인속성 값이 같아야 함을 의미하는 조인조건제시
*_예시)
SELECT
FROM Customer,Orders
WHERE Customer.custid=Orders.custid; _
Order by Customer.custid
조인조건을 만족하지 않는 튜플에 대해서도 검색을 수행
LEFT / RIGHT / FULL OUTER JOIN 과 ON 키워드를 이용해 작성

예시)
도서를 구매하지 않은 고객을 포함하여 고객의 이름과 고객이 주문한 도서의 판매가격을 구하세요
SELECT Customer.name, saleprice
FROM Customer LEFT OUTER JOIN Orders ON
Customer.custid=Orders.custid;
1) SELECT문 안에 또 다른 SELECT문을 포함하는 질의 = 서브쿼리
부속질의문(서브질의문): 다른 SELECT문 안에 들어 있는 SELECT문
부속질의문을 먼저 수행하고, 그 결과를 이용해 상위 질의문 수행
예시)도서를 구매한 적이 있는 고객의 이름을 알려면 어떻게 해야할까?
먼저 주문 테이블에서 주문내역 확인후-> 주문한 고객의 고객번호를 찾음
-> 찾은 고객번호를 이용하요 고객테이블에서 고객의 이름 찾기
부속 질의문과 상의 질문을 연결하는 연산자 필요

2) 상관(연결) 부속질의

3) 집합연산- UNION, MINUS,INTERSECT
테이블간의 집합 연산을 이용하여 합집합, 차집합, 교집합을 구할 수 있음
합집합

IN, NOT IN
MYSQL에는 MINUS와INTERSECT 연산자가 없는 대신 NOT IN, IN 사용한다.
예시) 질의: 대한민국에 거주하는 고객의 이름에서 도서를 주문한 고객의 이름을 제외하고 나타내세요

EXISTS, NOT EXISTS
상관 부속질의문 형식으로 부속질의의 결과가 존재하는지 여부를 확인하는 연산자

CREATE / ALTER / DROP


생성된 테이블의 속성 변경 및 속성에 관한 제약을 변경하며, 기본키 및 외래키를 변경함.

예시)질의: 앞에서 생성한 NewBook테이블에 VARCHAR(31)의 자료형으로 isbn의 속성을 추가하세요
--> ALTER TABLE NewBook ADD isbn VARCHAR(31)
-->isbn자료형을 INTEGER로 변경: MODIFY isbn INTEGER
-->isbn 속성을 삭제: DROP COLUMN isbn
--> bookname속성에 NOT NULL제약조건 적용: ALTER TABEL NewBook MODIFY bookname VARCHAR(20) NOT NULL
--> NewBook테이블의 bookid속성을 기본키로 변경하세요 : ALTER TABEL NewBook ADD PRIMARY KEY(bookid)
테이블을 삭제하는 명령어, 테이블의 구조와 데이터를 모두 삭제함.
무결성 제약조건
데이터베이스의 정확성과 일관성 유지하기 위한 규칙
유효하지 않은 데이터가 저장되는 것을 방지
무결성 3개원칙 ( 개체 / 참조 / 도메인 )
테이블에 새로운 튜플을 삽입하는 명령
예시)
INSERT INTO 테이블이름 [(속성리스트)]
VALUES (값리스트)
속성리스트 생략하면 테이블 정의할때 지정한 속성의 순서대로 값이 삽입됨.

속성의 순서는 변경가능, 그러나 INTO절의 속성이름과 VALUES절의 값은 순서대로 일대일 대응이 되어야함.

INSERT문은 SELECT문을 사용하여 작성할 수 있음
질의) 수입도서테이블에 있는 모든 목록을 BOOK테이블에 모두 삽입합세요

특정 속성값을 수정하는 명령
UPDATE문에서 다른 테이블의 속성값을 이욯라 수 있음

예시)
질의) Customer테이블에서 고객번호가 5인 고객의 주소를 대한민국 부산으로 변경하세요
UPDATE Customer
SET address='대한민국 부산'
WHERE custid=5
DELETE FROM 테이블이름
WHERE 검색조건
*WHERE절 생략하면 테이블에 존재하는 모든 튜플을 삭제해 빈 테이블이 됨.