๊ฐ์ :
์ ๋ฌด ์ํ์ค์ ํ ์ด๋ธ์กฐํํ ๋ ํน์ ์ปฌ๋ผ์ ํน์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ง ์๋ ์กฐ๊ฑด๊ณผ NULL์ธ ๋ฐ์ดํฐ๋ค์ ๊ฐ์ด ์กฐํํด์ผ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ฒผ๋ค.
์ฒ์์๋ WHERE์ ์ NOT IN()์ ์ฌ์ฉํด ์กฐํํ์์ผ๋ COUNT()๋ฅผ ์ฌ์ฉํ์๋ ํ์ธํด๋ณธ ๋ฐ์ดํฐ ์ซ์์ ๋ง์ง ์์๋ค.
๊ทธ๋์ AND์ ์ ์ถ๊ฐํด IS NULL์ ์กฐํํ์ผ๋ ๋น์ฐํ๊ฒ๋ ๋์ค์ง ์์๋ค. ( ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋๋ฐ NULL์ด๋ฉด์ ๋ฐ์ดํฐ๊ฐ ์์ด์ผํ๋ค๋ ๋ง์ด์๋์ง;; )
AND ๋์ ์ OR๋ฅผ ์ฐ๋ฉด ๋์ง์์๊นํด์ ์ฌ์ฉํด๋ดค์ง๋ง ๋๋์ด๋ผ๋ ๋ป์ด๊ธฐ ๋๋ฌธ์ ์ํ์ง์๋ ๋ฐ์ดํฐ๊น์ง๋ ์กฐํ๊ฐ ๋์๋ค.
ํด๊ฒฐ :
ex) ์คํจ
SELECT
*
FROM
[ํ
์ด๋ธ๋ช
] A
LEFT JOIN
[ํ
์ด๋ธ๋ช
] B
ON B.[์กฐ์ธ์ปฌ๋ผ] = A.[์กฐ์ธ์ปฌ๋ผ]
WHERE [์กฐ๊ฑด์ปฌ๋ผ] = [์กฐ๊ฑด๊ฐ]
AND [์กฐ๊ฑด์ปฌ๋ผ] = [์กฐ๊ฑด๊ฐ]
AND A.[์กฐ๊ฑด์ปฌ๋ผ] NOT IN ('37','38','39','40','41','42','43','44','65','49','48','105')
-- ๊ฒฝ์ฐ1 AND A.[์กฐ๊ฑด์ปฌ๋ผ] IS NULL
-- ๊ฒฝ์ฐ2 OR A.[์กฐ๊ฑด์ปฌ๋ผ] IS NULL
AND [์กฐ๊ฑด์ปฌ๋ผ] = [์กฐ๊ฑด๊ฐ];
ex) ์ฑ๊ณต
SELECT
*
FROM
[ํ
์ด๋ธ๋ช
] A
LEFT JOIN
[ํ
์ด๋ธ๋ช
] B
ON B.[์กฐ์ธ์ปฌ๋ผ] = A.[์กฐ์ธ์ปฌ๋ผ]
WHERE [์กฐ๊ฑด์ปฌ๋ผ] = [์กฐ๊ฑด๊ฐ]
AND [์กฐ๊ฑด์ปฌ๋ผ] = [์กฐ๊ฑด๊ฐ]
AND (A.[์กฐ๊ฑด์ปฌ๋ผ] NOT IN ('37','38','39','40','41','42','43','44','65','49','48','105')
OR A.[์กฐ๊ฑด์ปฌ๋ผ] IS NULL)
AND [์กฐ๊ฑด์ปฌ๋ผ] = [์กฐ๊ฑด๊ฐ];
- ์กฐ๊ฑด์ ์ ()๋ฅผ ์น๋ฉด ํ๋์ ์กฐ๊ฑด์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ ์ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ ๋๊ฐ์ง์ ์กฐ๊ฑด์ด ๋์์ ๊ฒ์ฆ๋์ง๋ง ํ์ค์ฉ ๋ค๋ก ์ ์ฉ๋์ด์์ ๋๋ ์์ค์ด ์คํ๋๊ณ ๋์ ๋ค์์ค์ด ์คํ๋๊ธฐ๋๋ฌธ์ ๋์ง ์์๋๊ฒ๊ฐ๋ค.
- ๊ธฐ๋ณธ์ ์ธ๊ฒ์ด์ง๋ง ๋ง์ ์จ๋จน์ผ๋ ค๋ ์๊ฐ์ด ์๋๋๊ฑด ์์ง...
'๐ Today I Learned(๊ฐ๋ฐ์ธ์ดํ์ต) > ORACLE(DB)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ORACLE] ํด๋น ํ ์ด๋ธ์ ํฌํจํ๊ณ ์๋ ํ ์ด๋ธ์คํ์ด์ค ์กฐํ (0) | 2022.04.08 |
---|---|
[ORACLE] ๋ ๊ฐ์ ํ ์ด๋ธ ์กฐ์ธ ํ ์ ๋ฐ์ดํธ (0) | 2022.03.24 |
IN ๋ฌธ์ ํ์ฉํ LIKE ์ฌ์ฉ (0) | 2022.03.17 |
LONGํ์ ์ปฌ๋ผ์ ํฌํจํ ํ ์ด๋ธ ๋ณต์ฌ(๋ฐฑ์ ํ ์ด๋ธ์์ฑ) (0) | 2022.02.14 |
[ORACLE DB] VARCHAR2ํ์ CLOBํ์ ์ผ๋ก ๋ณ๊ฒฝ (0) | 2022.01.26 |