참조를 하는 테이블 : '자식 테이블' - stock 테이블
참조를 당하는 테이블 : '부모 테이블' - item 테이블
이상한 item-id 값을 추가하려 하면 오류가 발생한다.
💡 테이블 명 변경시 테이블이 써 있는 모든 자리에 이름을 변경해 주어야 한다.
FOREIGN KEY가 없더라도 조인은 가능하다. FOREIGN KEY가 있다면 LEFT OUTER JOIN 혹은 RIGHT OUTER JOIN이 INNER JOIN이 같은 결과를 나타 내지만, 그렇지 않은 경우에는 다른 3가지 모두 다른 결과 값이 나오기도 한다.
SELECT p.name AS name, COALESCE(s.sales_volume, '판매량 정보 없음') AS 판매량
FROM pizza_price_cost AS p LEFT OUTER JOIN sales AS s
// AS를 이용해 s, p로 테이블 이름을 변경했다.
ON p.id = s.menu_id;
결합연산
집합연산
SELECT * FROM member_A
INTERSECT
SELECT * FROM member_B
SELECT * FROM member_A(member_B)
MINUS
SELECT * FROM member_B(member_A)
UNION : A U B 중복되는 컬럼은 하나만 보여준다.
SELECT age, height FROM member_A
UNION
SELECT age, height FROM member_B
SELECT
i.name,
r.star, r.comment,
m.email
FROM
item AS i LEFT OUTER JOIN review AS r
ON r.item_id = i.id
LEFT OUTER JOIN member AS m
ON r.mem_id = m.id;
WHERE view_count > ANY(서브쿼리)
//view_count가 ANY에 포함된 값 중 하나 이상의 값보다 크면 TRUE
WHERE view_count > ALL(서브쿼리)
//view_count가 ALL에 포함된 모든 값 보다 크면 TRUE