두 개 이상의 테이블에서 SQL질의
- DB/Oracle
- 2018. 2. 28. 16:32
이번엔 두 개 이상의 테이블을 사용하여
SQL질의를 하는 방법에 대해 알아 보겠습니다.
먼저 테이블 하나를 사용했을때 입니다
이제 두 테이블을 합쳐서 사용 할 때 입니다
두개의 테이블을 사용하면 투플(행)의 개수는
고객이 다섯 명이고 주문이 열 개이므로 5*10 해서
50이 된다. Customer테이블의 1번고객 박지성은 orders 테이블의
열 개 행 모두에 대해 결합하고 나머지 고개들도 각각 orders테이블의
열 개 행 모두에 대해 결합한다
이와 같이 조건이없는 테이블간의 조인을 카티전프로덕트 라고한다.
그렇지만 결과는 논리에 맞이 않으므로 조건을 줘야한다.
필요에 맞게 조건을 줘야하는데. 예를 들어 고객과
고객의 주문에 관한 데이터를 구할땐
필요한것이 박지성의 custid가 1이므로 orders 테이블에서 custid가
1인것만 선택하면 된다.
이때 값을 고객 번호순으로 정렬하고싶다면
ORDER BY Customer.custid 만 추가 해주면된다.
다른 예로 고객의 이름과 고객이 주문한 도서의
판매가격을 검색하고싶다면
위와 같은 방법으로 할수 있겠다.
출처:오라클로 배우는 데이터베이스 개론과 실습(한빛아카데미)
'DB > Oracle' 카테고리의 다른 글
오라클 시퀀스 생성하기 (MariaDB AUTO_INCREMENT) (0) | 2018.05.27 |
---|---|
데이터베이스의 정의 와 특징 (0) | 2018.04.01 |
데이터 조작어(5) HAVING (0) | 2018.02.28 |
Oracle - 데이터 조작어(4) GROUP BY (0) | 2018.02.11 |
Oracle - 데이터 조작어(3) ORDER BY (2) | 2018.02.10 |