๐ SQL & Database (02) - IN, LIKE ๋ฌธ๋ฒ
ํ์ตํ๊ฒฝ : Windows, MariaDB, DBeaver
IN ๋ฌธ๋ฒ
์ฌ๊ธฐ์ ์ํ ์นดํ
๊ณ ๋ฆฌ๊ฐ ์ ๋ฐ, ๊ฐ์ , ์ํ์ธ ๊ฒ๋ค๋ง ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด?
OR ์ ์ ์ฌ์ฉํ๋ค๋ฉด
1
2
SELECT * FROM product
WHERE ์นดํ
๊ณ ๋ฆฌ = '์ ๋ฐ' OR ์นดํ
๊ณ ๋ฆฌ = '๊ฐ์ ' OR ์นดํ
๊ณ ๋ฆฌ = '์ํ'
OR์ 3๋ฒ์ด๋ ๋ฐ๋ณตํด์ ์ฌ์ฉํด์ผํ๋ค
์ด๋ด๋ IN์ ์ฌ์ฉํ๋ฉด ๋๋ค
1
2
SELECT * FROM product
WHERE ์นดํ
๊ณ ๋ฆฌ IN ('์ ๋ฐ', '๊ฐ์ ', '์ํ')
๊ฐ์ ์ปฌ๋ผ์์ OR ์ฐ์ฐ์๊ฐ ์ฌ๋ฌ๊ฐ ํ์ํ ๋ IN () ๋ฌธ๋ฒ์ ์ฐ๋ฉด ์งง์์ ธ์ ์ข์
์ฒ๋ฆฌ์๋๋ ์ข์
๊ฒฐ๋ก : OR ์ฌ๋ฌ๊ฐ๋ฅผ IN ()์ผ๋ก ์ถ์ฝํ ์ ์์ผ๋ฉด ํ์
LIKE ๋ฌธ๋ฒ
: ํน์ ๋ฌธ์ ๊ฒ์ํ ๋ ์ฌ์ฉํ๋ค
ย ย % ๊ธฐํธ
% ๊ธฐํธ๋ ๊ธ์์ ์ ํ X (0์๋ ํฌํจ)
โ์นจ๋โ๋ผ๋ ๊ธ์๊ฐ ๋ค์ด๊ฐ ์ํ๋ช
์ ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด
1
2
SELECT * FROM product
WHERE ์ํ๋ช
LIKE '%์นจ๋%'
โ์ฃผ์โ
์ด์ ๊ฒ์๋ฌผ์๋ ์ ์ด๋์๋ฏ์ด CHAR ๋ฐ์ดํฐ ํ์
์ ๊ฒฝ์ฐ CHAR(n) ์ผ๋ n๋ณด๋ค ์์ ๋ฌธ์์ด์ด ์
๋ ฅ๋๋ฉด ๋๋จธ์ง๋ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์์ง๋ค
์๋ฅผ ๋ค์ด CHAR(6)์ด๋ผ๋ฉด
โ๊ฐ์ฃฝ์นจ๋โ๋ฅผ ์ ์ฅํด๋ โ๊ฐ์ฃฝ์นจ๋ย ย โ ์ด๋ ๊ฒ ์ ์ฅ๋๋ค
๊ทธ๋ ๊ธฐ ๋๋ฌธ์
โ%์นจ๋โ ์ด๋ ๊ฒ ๊ฒ์ํด๋ โ๊ฐ์ฃฝ์นจ๋ย ย โ ์ด๊ฑด ๋ชป์ฐพ์
๊ฒฐ๋ก : CHAR ์ปฌ๋ผ์ % ์จ์ ๊ฒ์์ ์๋์ ๋ค๋ฅด๊ฒ ๋์ํ ์ ์์ผ๋ ์ฃผ์!
ย ย _ ๊ธฐํธ
_ ๊ธฐํธ๋ _ ํ๋ ๋น 1๊ธ์
% ๊ธฐํธ๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ธ๋ฑ์ค ํ์ฉ์ ๋ง์ด ๋ชปํด์ ์ฐพ๋๋ฐ ์ค๋ ๊ฑธ๋ฆฌ๋ ์ฑ๋ฅ์ ํ๊ฐ ์ผ์ด๋ ์ ์๋ค.
OR, ๋ฑํธ, ๋ถ๋ฑํธ๋ฅผ ์ธ ์ ์๋ ์ํฉ์ด๋ผ๋ฉด ์ฐ๋๊ฒ ์ฑ๋ฅ์ ์ผ๋ก๋ ์ข๊ธด ํจ