728x90
안시 쿼리란 From절에서 조인을 하며 조인조건을 ON 으로 명시해주어 가독성이 좋은 쿼리다. 조인되는 테이블이 많고 조건이 많을 수록 쿼리의 가독성이 떨어지는데 안시쿼리를 사용하면 From절과 Where절을 각각 한 눈에 볼 수 있다. 특히 조인되는 컬럼과 조회 조건 컬럼을 따로 확인할 수 있어서 편하다. 단, 띄어쓰기나 공백을 활용하여 잘 정리해주어야 한다. 아니면 더 보기 힘들어 질 수 있다.정리 안되면 모든 쿼리가 보기 힘들다..
예시1)
TABLE_A와 TABLE_B가 있고 각 테이블에는 col_a, col_b 라는 컬럼이 있는데 조인 조건은 col_a를 쓴다고 가정하자.
SELECT
*
FROM
TABLE_A A,
TABLE_B B
WHERE
A.col_a = B.col_a
-- ANSI
SELECT
*
FROM
TABLE_A A
INNER JOIN TABLE_B B ON A.col_a = B.col_a
예시2)
실제로 사용되는 쿼리는 예시1처럼 단순하지 않다. 약간 더 복잡하게 해보자.
똑같은 조건으로 A, B, C, D, E 까지 있다면? 그리고 col_b 가 "b" 인 값을 조회하고 싶다면?
SELECT
*
FROM
TABLE_A A
, TABLE_B B
, TABLE_C C
, TABLE_D D
, TABLE_E E
WHERE
A.col_a = B.col_a
A.col_a = C.col_a
A.col_a = D.col_a
A.col_a = E.col_a
A.col_b = 'b'
-- ANSI
SELECT
*
FROM
TABLE_A A
INNER JOIN TABLE_B B ON A.col_a = B.col_a
INNER JOIN TABLE_C C ON A.col_a = C.col_a
INNER JOIN TABLE_D D ON A.col_a = D.col_a
INNER JOIN TABLE_E E ON A.col_a = E.col_a
WHERE
A.col_b = 'b'
안시 쿼리는 FROM절에 조인컬럼이, WHERE절에 조회조건이 구분되는 것을 볼 수 있다.
728x90
'DataBase > MSSQL' 카테고리의 다른 글
| [MSSQL] 이중 커서/중첩 커서(Nested Cursor)로 반복처리 예시 (0) | 2022.09.04 |
|---|---|
| [MSSQL] 특정문자 포함여부에 따라 다른 값 출력(IF, CASE) (0) | 2022.04.29 |
| [MSSQL] 컬럼 합치기 STUFF + FOR XML PATH (0) | 2022.04.25 |
| [MSSQL] dbo.테이블 (0) | 2022.04.06 |
| [MSSQL] USP(Procedure) & UFN(Function) (0) | 2022.03.30 |