본문 바로가기
SQL

SQL JOIN 구문

by 진격의 파파 2013. 8. 29.
반응형

 

 

안녕하세요!

이번 포스팅에서는 SQL의 JOIN 구문에 대해서 설명하겠습니다.

 

SQL 은 기본적으로 여러개의 테이블을 join(조인)할 수 있습니다. join 의 의미는 합친다라는 의미인데 SQL에서는 서로 다른 테이블을 합치서 하나의 결과를 보여주는것을 의미합니다.

 

JOIN의 방법에는 INNER JOIN(이너조인, 내부조인), OUTER JOIN, LEFT JOIN, JOIN 등 여러가지 방법이 있는데 이번 포스팅에서는 일단 JOIN의 기본적인 방법에 대해서 설명하고 다음 포스팅에서 위 여러가지 방법에 대해서 하나씩 세부적으로 설명하겠습니다.

 

예를 들어서 두개 이상의 테이블로부터 데이터를 가져오기 위해서 FROM 뒤에 테이블의 이름을 나열하면 됩니다.

기본구문

1) select * from test1, test2;

2) select * from test1 A, test2 B;

3) select * from test1 as A, test2 as B;

// 위 구문을 줄여서 Cross join(크로스 조인)이라고 합니다.

 

그리고 알아두어야 할것은 만약 test1의 레코드는 5개이며, test2의 레코드가 10개가 있을 경우 5 * 10 즉 50개의 레코드를 보여주게 됩니다. 1, 2, 3 의 방법을 적었는데 모두 같은 의미입니다. 하지만 1번 예제와 2,3번 예제의 사용방법에 대해선 서로 조금씩 다릅니다. 아 참고로 2번과 3번예제는 동일한 구문입니다. 이전 포스팅에서 AS에 대해서 설명했었는데 AS의 내용에 대해선 이전 포스팅을 참조하시기 바라고 2번 예제는 AS 를 생략한 구문입니다. 아래 예제에서 어떻게 사용방법이 다른지 살펴보겠습니다.

 

1) select test1.title, test2.comment from test1, test2 where test1.id = test2.id

2) select A.title, B.comment from test1 as A, test2 as B where A.id = B.id

// 두 구문은 물론 동일한 결과값을 보여줍니다. 하지만 1번 예제와 2번 예제를 자세히 보면 테이블의 이름을 그대로 써서 조인을 했는가와 테이블 이름을 as 를 사용해 다른 별칭값을 만들어 조인한것이 다른것을 알 수 있습니다. 아무래도 SQL 구문을 짜는 일도 일일이 키보드를 두드려 가며 하는 일이기 때문에 소스를 조금이라도 줄여서 같은 결과값을 빨리 나타내는것이 중요하겠죠.

그래야 퇴근도 빨라지니까요 ㅎㅎ;;

 

우선 JOIN 문에 대해서 알아두시고 다음 포스팅에서 테이블을 사용하여 JOIN 구문을 만들어 결과값이 어떻게 보여지는지에 대해서 알아보겠습니다.

 

비가오니 기온이 뚝 떨어지네요. 아무쪼록 감기 조심하시고  그럼 오늘 하루도 즐거운 하루!! 즐거운 프로그래밍 되시기 바랍니다. ^^

 

반응형

'SQL' 카테고리의 다른 글

SQL LEFT JOIN 구문  (0) 2013.09.02
SQL INNER JOIN 구문  (0) 2013.08.31
SQL AS(Aliases) 구문  (0) 2013.08.27
SQL BETWEEN 구문  (2) 2013.08.23
SQL IN 구문  (14) 2013.08.22