SQL ์ฟผ๋ฆฌ๋ฅผ ์ง๋ค๋ณด๋ฉด ์ ๋ ฌ์ ๋ด ๋ง๋๋ก ํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ๋๋ ์ฟผ๋ฆฌ๋ ์ง์ง ๋ถ์กฑํ ํธ์ด๋ผ ๊ตฌ๊ธ๋ง์ ๋ง์ด ํ๋ ํธ์ด์์. ์ด๋ฒ์๋ ๊ตฌ๊ธ๋งํ๋ค๊ฐ ์ด๋ ๊ฒ๋ ๋๋๊ตฌ๋ ๊นจ๋ฌ์์ ์ ๋ฆฌํด๋์ผ๋ ค๊ณ ํด์. ์ ๋ MySQL์ด๋ MariaDB๋ฅผ ๋ง์ด ์ฌ์ฉํ๋๋ฐ ๋์ ์ฐจ์ด๋ ํ์ฌ๋ก์ ๊ฑฐ์ ์๋ค๊ณ ๋ณด๋ฉด ๋ผ์.
์ํฉ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ IN ๊ตฌ๋ฌธ ์์ PRIMARY KEY ๊ฐ์ ๋์ดํ์ฌ ํด๋นํ๋ ๋ฐ์ดํฐ๋ง ํํฐ๋งํ๋ ์์ด์์. ๊ทธ๋ฐ๋ฐ ๊ฐ์ ธ์๋๊ณ ๋ณด๋ ๋ด๊ฐ ์ํ๋ ์ ๋ ฌ ์์๋ IN ๊ตฌ๋ฌธ ์์ PRIMARY KEY์ ์์์ธ๋ฐ ์ด๊ฒ ์๋์ผ๋ก PRIMARY KEY๊ฐ์ผ๋ก ์ ๋ ฌ์ด ๋์ด ๋์ค๋๊ฒ ๋๋ฌธ์ View ์์ญ์ ์์๊ณผ๋ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์์ด์.
์ํฉ
SELECT * FROM TABLE WHERE KEY IN (2, 1, 3)
ํด๊ฒฐ๋ฐฉ๋ฒ (MySQL IN ์ ์์ ์๋ ์์๋๋ก ์ ๋ ฌํ๊ธฐ)
ORDER BY FIELD(KEY, 1, 2, 3)
์์ ๊ฐ์ด ORDER BY ๊ตฌ๋ฌธ์ FIELD๋ฅผ ์ฌ์ฉํ๋ฉด ๋ผ์. ๋ฌธ๋ฒ์ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์ ์์ ์์๋ง ๋ด๋ ์ ์ ์์๊ฑฐ์์.
SELECT * FROM TABLE WHERE KEY IN (2, 1, 3) ORDER BY FIELD(KEY, 1, 2, 3)
์์ ์ฟผ๋ฆฌ๊ฐ ์ ๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฝ์์คฌ์ด์ :)
์ ์ฒ๋ผ ํค๋งค์๋ ๋ถ๋ค์๊ฒ ์กฐ๊ธ์ด๋ผ๋ ๋์์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค :)