본문 바로가기

RDBMS

관계형 데이터베이스(RDBMS) - 서브퀴리 & JOIN

 

Heidi SQL : workbench 느낌

 

오타수정이 쉽고 결과를 한눈에 보기 편리함

MariaDB에서 제공

 

 

 

== 서브쿼리 : 반드시 별칭을 붙여야함 ==

why? select 절 컬럼명 앞에는 테이블의 이름이 생략되어있는것임 별칭을 따로 적지않으면 테이블을 인식하지 못함

[from]

from

[select ]

select 절의 select 는 컬럼과 행은 1개씩이어야만 함

[where]

행이 하나여만 함

 

==JOIN==

 두개 이상의 테이블에서 두 테이블의 레코드를 조합하는것

 

-pull join = straight join : 사용할 일이 거의 없음

SELECT * FROM book_category, book;

-theta join : pull join 과 staraight join 에 where 조건절을 사용하여 필요한 정보만을 출력

SELECT book.id, bc_name, bk_name, bk_price FROM book_category, book 
WHERE book_category.id = book.book_category_id AND bk_price >= 20000;

-inner join : 컬럼을 지정해서 조인  using() / on()

 

SELECT * FROM book_category A JOIN book B
ON (A.id = B.book_category_id );

SELECT * FROM book_category A JOIN
(SELECT id book_id, book_category_id id, bk_name, bk_sale FROM book) B USING (id);

-outer join

SELECT * FROM book_category A
LEFT OUTER JOIN book B ON (A.id = B.book_category_id);

SELECT * FROM book_category A
right OUTER JOIN book B ON (A.id = B.book_category_id);
728x90