1. 2개 이상의 테이블의 column을 결합하는 방법은 여러가지가 있다. 기본적으로는 JOIN을 사용하지만, 복잡하게 결합해야 할 때에는 SUB QUERY(서브쿼리)와 WITH을 사용할 수 있다.
2. 아래와 같이 sales와 users의 샘플 테이블을 만들어 보자
3. JOIN을 사용하여 결합해보자. JOIN의 기본이 되는 INNER JOIN을 사용해보자
아래와 같이 잘 결합되었다.
4. SUB QUERY를 사용하여 결합해보자
같은 결과를 확인할 수 있다.
5. WITH를 사용하여 결합해보자
같은 결과를 확인할 수 있다.
6. 간단하게 결합할 때는 JOIN을 사용한다. 하지만 연산 후 JOIN을 해야 할 때는 SUB QUERY(서브쿼리)를 사용한다. 연산이 복잡해지면 서브쿼리도 복잡해진다. 그러면 WITH를 사용한다.
끝.
2. 아래와 같이 sales와 users의 샘플 테이블을 만들어 보자
1 2 3 4 5 6 7 8 9 10 11 12 13 | CREATE TABLE sales_online(id integer, sales integer); INSERT INTO sales_online VALUES(1, 100); INSERT INTO sales_online VALUES(2, 170); INSERT INTO sales_online VALUES(3, 250); CREATE TABLE users(id integer, last_name text); INSERT INTO users VALUES(1, 'kim'); INSERT INTO users VALUES(2, 'lee'); INSERT INTO users VALUES(3, 'park'); INSERT INTO users VALUES(4, 'choi'); INSERT INTO users VALUES(5, 'han'); |
3. JOIN을 사용하여 결합해보자. JOIN의 기본이 되는 INNER JOIN을 사용해보자
1 2 3 4 5 | SELECT s.id, u.last_name FROM sales_online s JOIN users u ON s.id = u.id ; |
아래와 같이 잘 결합되었다.
4. SUB QUERY를 사용하여 결합해보자
1 2 3 4 5 | SELECT s.id, u.last_name FROM sales_online s JOIN (select * from users) u ON s.id = u.id ; |
같은 결과를 확인할 수 있다.
5. WITH를 사용하여 결합해보자
1 2 3 4 5 6 7 8 9 | WITH u AS ( SELECT * FROM users ) SELECT s.id, u.last_name FROM sales_online s JOIN u ON s.id = u.id ; |
같은 결과를 확인할 수 있다.
6. 간단하게 결합할 때는 JOIN을 사용한다. 하지만 연산 후 JOIN을 해야 할 때는 SUB QUERY(서브쿼리)를 사용한다. 연산이 복잡해지면 서브쿼리도 복잡해진다. 그러면 WITH를 사용한다.
끝.
댓글
댓글 쓰기