์ถ์ฒ) https://blog.naver.com/writer0713/222277142471
ย ์ด์ ๋ฌธ์ ๋ก ํ ๋ฒ ๋์ด๊ฐ ๋ณด๊ฒ ์ต๋๋ค.
ย ์ฒ์์ผ๋ก ๋ณผ ๋ฌธ์ ๋ ๋๋ช ๋๋ฌผ ์ ์ฐพ๊ธฐ ๋ผ๋ ๋ฌธ์ ๋ก
ย ์์์ ์ฃผ์ด์ง ๋ฐ์ดํฐ์์ ๋ ๋ฒ ์ด์ ์ฐ์ธ ๋๋ฌผ ์ด๋ฆ๊ณผ ํด๋น ์ด๋ฆ์ด ์ฐ์ธ ํ์๋ฅผ ์กฐํํ๋๋ฐ ์ด๋ ์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์ง๊ณ์์ ์ ์ธํ๋ฉฐ, ๊ฒฐ๊ณผ๋ ์ด๋ฆ ์์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด์ด์ผ ํฉ๋๋ค.
ย ์๋๋ ์ ์ถ ์ฝ๋์ ๋๋ค.
SELECT NAME, COUNT(*) AS COUNT
FROM ANIMAL_INS
WHERE NOT NAME IN ('')
GROUP BY NAME
HAVING COUNT > 1
ORDER BY NAME;
ย FROM ์ ์ฌ์ฉํ์ฌ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์์ผ๋ฉฐ
WHERE ๋ก ๊ณต๋ฐฑ์ธ ์ด๋ฆ์ ๋จผ์ ๋ชจ๋ ์ ๊ฑฐํด ์ฃผ์์ต๋๋ค.
SELECT ๋ ์ ๊ฐ ์ํ๋ ์ปฌ๋ผ์ธ NAME ๊ณผ ๊ทธ NAME ์ ์นด์ดํ
ํ ์ปฌ๋ผ์ ๋ถ๋ฌ์๋๋ฐ ์ด๋ ์ปฌ๋ผ๋ช
์ COUNT๋ก ์ง์ ํด ์ฃผ์์ต๋๋ค. ๊ทธ NAME ์ปฌ๋ผ์
GROUP BY ํ์ฌ COUNT ์ปฌ๋ผ์ ๊ฐ๊ฐ์ ์นด์ดํ
ํ ๊ฐ์ ํ์ํ๋๋ฐ
HAVING ์ผ๋ก COUNT ๊ฐ์ด 1๋ณด๋ค ํฐ ๊ฐ๋ง ์ ํํ์ฌ ๋ ๋ฒ ์ด์ ์ฐ์ธ ๋๋ฌผ์ด๋ฆ๋ง ๋ฝ์ ๋ด์์ผ๋ฉฐ ๋ง์ง๋ง์ผ๋ก
ORDER BY NAME ์ ์ด๋ฆ ์์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๊ฒ ํ ์ ์์์ต๋๋ค.
์ด๋ ๊ฒ ์ฒซ๋จธ๋ฆฌ์ ์ ์ํ ์ฌ์ง์ ์์๋๋ก ๋ฌธ์ ํ์ด๋ฅผ ํด ๋ณด์์ต๋๋ค.
์์ผ๋ก๋ ์ด๋ ๊ฒ ๋ชจ๋ ํ์ด๋ฅผ ํ๊ธฐ๋ณด๋ค๋ ์ค์ํ๊ฑฐ๋ ์๊ฐํ๊ธฐ ์ด๋ ค์ด ๊ฐ๋
์ด ์ฐ์๋ค๊ณ ์๊ฐํ๋ฉด ๊ทธ ๊ฐ๋
์์ฃผ๋ก ์ด์ผ๊ธฐ๋ฅผ ํด ๋ณด๊ฒ ์ต๋๋ค.
ย ๋ ๋ฒ์งธ๋ก ๋ณผ ๋ฌธ์ ๋ ์ด๋ฆ์ el์ด ๋ค์ด๊ฐ๋ ๋๋ฌผ ์ฐพ๊ธฐ ์ ๋๋ค.
ย ๋์๋ฌธ์๋ฅผ ๊ฐ๋ฆฌ์ง ์๊ณ el์ด ๋ค์ด๊ฐ ๊ฐ์์ง์ ์ด๋ฆ์ ์ฐพ์์ ์์ด๋์ ์ด๋ฆ์ ์กฐํํ๋ ๋ฌธ์ ์ ๋๋ค.
ย ์๋๋ ์ ์ถ ์ฝ๋์ ๋๋ค.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE='Dog'
HAVING NAME REGEXP ('(el|EL|El|eL)+')
ORDER BY NAME;
ย ์ด ์ ์ถ์ฝ๋์์ ์ฃผ์ํ๊ฒ ์ฐ์ธ ๊ฐ๋ ์ ์ ๊ทํํ์ ์ ๋๋ค. ์ ๊ทํํ์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋์๋ฌธ์๋ฅผ ๊ฐ๋ฆฌ์ง ์๊ณ el์ด ํ ๋ฒ ์ด์ ๋ค์ด๊ฐ ๊ฐ์์ง์ ์ด๋ฆ์ ๋ชจ๋ ์ฐพ์์๊ฐ ์์์ต๋๋ค.
์ด์์ผ๋ก SQL 1์ผ์ฐจ ๊ณต๋ถ๋ฅผ ๋ง์ณ๋ณด๊ฒ ์ต๋๋ค.
๋ค์์๋ Programmers์ MYSQL Lv.2 ๋ถ๋ถ์ ์ด์ด์ ํ์ด๋ณผ ๊ณํ์ ๋๋ค.