▶ JOIN 정의
. 검색을 할때 테이블을 한개씩 검색을 하게 되면 효율이 좋치 않다고 생각한다.
. 효율을 위해서 여러테이블중 컬럼명이 같은 테이블끼리 비교를 하여 검색을 할 수 있다.
. 컬럼명과 데이터가 같으면 여러개 테이블의 데이터를 검색을 할 수 있다.
출처 https://stackoverflow.com/questions/53949197/isnt-sql-a-left-join-b-just-a
Isn't SQL A left join B, just A?
I was looking at a few graphs to understand the difference between the joins, and I came across this image: Maybe the problem is in representing this with Venn Diagrams. But looking at the first j...
stackoverflow.com
▷ LEFT (OUTER) JOIN
https://alstn4973.tistory.com/151 에 있는 EMP 테이블 DEPT 테이블을 가지고 예제를 하겠습니다.
- 기본 문법
SELECT *
FROM 테이블1 A(명칭)
LEFT JOIN 테이블2 B(명칭) ON A.컬럼명=B.컬럼명
. EMP 테이블과 dept 테이블을 검색을 하면
SELECT *
FROM EMP A
LEFT JOIN dept B ON A.deptno = B.deptno
. LEFT JOIN은 두개의 테이블에 관하여 비교한 A.deptno = B.deptno에 해당하는 모든 데이터가 나옵니다.
▷ INNER JOIN
- 기본 문법
SELECT *
FROM 테이블1 A(명칭)
INNER JOIN 테이블2 B(명칭) ON A.컬럼명=B.컬럼명
. INNER JOIN은 교집합이라고 생각을 하면 됩니다. 비교하는 데이터가 있어야지만 반드시 데이터가 나오며 없는 경우는 제외되어 데이터가 나옵니다.
. 두개 테이블을 비교한 데이터가 반드시 같아야지 나오는 데이터라고 생각하면 됩니다.
- 두개 테이블의 조건을 넣어 원하는 데이터를 검색할 수가 있습니다.
SELECT *
FROM EMP A
INNER JOIN dept B ON A.deptno = B.deptno
where A.empno = '20'
. 테이블이 여러개로 조인을 할 수 있어 테이블을 지정하여 원하는 데이터의 조건을 걸어 검색을 할 수 있습니다.
'MSSQL' 카테고리의 다른 글
MSSQL - 문자열 치환 (REPLACE,STUFF) 사용법 (0) | 2024.03.26 |
---|---|
MSSQL - 정렬 (ORDER BY), 그룹(GROUP BY), 그룹 조건(HAVING) (0) | 2024.03.22 |
MSSQL - IN(컬럼,컬럼,...) 연산자 (0) | 2024.03.20 |
MSSQL - BETWEEN문 (0) | 2024.03.19 |
MSSQL - DELETE 문 (2) | 2024.03.18 |