두 개 이상의 테이블에서 SQL질의

이번엔 두 개 이상의 테이블을 사용하여

SQL질의를 하는 방법에 대해 알아 보겠습니다.



먼저 테이블 하나를 사용했을때 입니다






이제 두 테이블을 합쳐서 사용 할 때 입니다



두개의 테이블을 사용하면 투플(행)의 개수는

고객이 다섯 명이고 주문이 열 개이므로 5*10 해서

50이 된다. Customer테이블의 1번고객 박지성은 orders 테이블의

열 개 행 모두에 대해 결합하고 나머지 고개들도 각각 orders테이블의

열 개 행 모두에 대해 결합한다

이와 같이 조건이없는 테이블간의 조인을 카티전프로덕트 라고한다.

그렇지만 결과는 논리에 맞이 않으므로 조건을 줘야한다.

필요에 맞게 조건을 줘야하는데. 예를 들어 고객과

고객의 주문에 관한 데이터를 구할땐

필요한것이 박지성의 custid가 1이므로 orders 테이블에서 custid가

1인것만 선택하면 된다.



이때 값을 고객 번호순으로 정렬하고싶다면

ORDER BY Customer.custid 만 추가 해주면된다.


다른 예로 고객의 이름과 고객이 주문한 도서의

판매가격을 검색하고싶다면



위와 같은 방법으로 할수 있겠다.






출처:오라클로 배우는 데이터베이스 개론과 실습(한빛아카데미)


댓글

Designed by JB FACTORY