| JOIN
여러개의 테이블 데이터를 조합하여 출력하는 것
● Equi Join(등가조인)
가장 많이 사용하는 조인문
2개 이상의 테이블에서 공통적으로 존재하는 데이터의 값이 일치되는 행을 연결해서 결과를 생성하는 것
조인 조건이 정확히 일치하는 경우에 사용 (PK(기본키) 와 FK(외래키) 를 사용한 조인)
조인 조건에 ' = ' 를 이용
2중 이상의 조인이 가능하다.
아래와 같이 2개의 테이블을 생성하였고, 각각 데이터를 삽입하였다.
TEST1


TEST2


두 테이블에서 데이터 값이 일치하는 컬럼에 = 를 이용하여 조인을 해주었다.
***다른 테이블의 정보를 가져올 때에는 반드시 해당 테이블의 PK를 가져와야 함
***이렇게 가져온 상대 테이블의 PK컬럼을 외래키(FOREIGN KEY)라고 한다.


이와 같이 조인되어 출력된 것을 확인할 수 있다.
| 페이징 처리
데이터베이스에서 읽어와 화면에 출력할 때 한꺼번에 모든 데이터를 가져오는 것보다
출력될 페이지의 데이터만 나눠서 가져오는 것을 페이징(Paging)이라고 한다.
ROWNUM이란?
오라클에서 조회된 행이 몇번째 행인지 부여해주는 것
ROWNUM을 올바로 사용하기 위해서는?
ROWNUM을 사용한 곳에 ORDER BY를 사용하면 안된다
ORDER BY를 사용해야 한다면 서브쿼리 안에 사용할 것
테이블을 만들고 데이터를 삽입하였다.



여기서 아래와 같은 코드에서 같은 결과값을 얻을 수 있다.


둘 다 같은 결과이지만 차이점은
사용자가 지정한 컬럼의 경우에는 모든 데이터를 전부 확인 후 3개를 출력하지만
ROWNUM의 경우에는 조건식에 따라 3개만 확인하고 출력하므로 속도개선을 위해 사용된다.
**주의할 점
ROWNUM을 추가한 상태에서 ORDER BY로 다른 컬럼을 지정할 시 ROWNUM이 엉망이 된다.
따라서 서브쿼리 내에서 ORDER BY할 컬럼을 먼저 지정 후 ROWNUM을 사용해야 한다.

컬럼 PID를 내림차순 정렬하는 별칭 A인 테이블을 조회하면서 별칭 RNUM인 컬럼 ROWNUM이 7이하면서 3초과인 결과값을 조회
* 별칭 AS는 생략이 가능하다
결과값

'IT Study > DBMS' 카테고리의 다른 글
MySQL - 이클립스 연동하기 (0) | 2023.01.02 |
---|---|
Oracle - 함수 사용법 (0) | 2023.01.02 |
Oracle/JDBC - Java 드라이버 연동 (0) | 2023.01.02 |
Oracle - GROUP BY/HAVING (0) | 2023.01.01 |
DBMS (0) | 2023.01.01 |
댓글