๐ FrontEnd ๊ฐ๋ฐ์๋ง ๋ฑ! ๋ฝ์๋ณด๊ธฐ (SQL ๋ฌธ์ )
https://school.programmers.co.kr/learn/courses/30/lessons/276035
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก์ Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๐ง ๋ฌธ์ ์ํฉ ์์ฝ
๊ฐ๋ฐ์๋ค์ ์คํฌ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ SKILLCODES
ํ
์ด๋ธ๊ณผ,
๊ฐ๋ฐ์ ๊ฐ์ธ ์ ๋ณด + ์คํฌ ์ฝ๋๋ฅผ ๋ด์ DEVELOPERS
ํ
์ด๋ธ์ด ์์ด์.
์ฌ๊ธฐ์ Front End ์คํฌ์ ๊ฐ์ง ๊ฐ๋ฐ์๋ค๋ง ๊ณจ๋ผ์ ID, ์ด๋ฉ์ผ, ์ด๋ฆ, ์ฑ์ ์กฐํํด๋ฌ๋ผ๋ ๊ฒ ๋ฌธ์ ์ ํต์ฌ์ด์์!
๐ ํ ์ด๋ธ ์ค๋ช
1. SKILLCODES
๊ฐ ์คํฌ์ ๊ณ ์ ํ CODE๋ฅผ ๊ฐ๊ณ ์๋๋ฐ, ์ด CODE๋ 2์ง์๋ก ํํํ์ ๋ ๋นํธ ๋จ์๋ก ๊ตฌ๋ถ๋ผ์. ์๋ฅผ ๋ค๋ฉด:
JavaScript → 16 (0001 0000)
React → 2048 (1000 0000 0000)
์ด๋ฐ ์์ผ๋ก ๊ฐ ์คํฌ๋ง๋ค 2์ ์ ๊ณฑ์๋ก ๊ณ ์ ์ฝ๋๋ฅผ ๋ถ์ฌํ ๊ฑฐ์์.
2. DEVELOPERS
๊ฐ๋ฐ์๋ค์ด ๋ณด์ ํ ์คํฌ ์ ๋ณด๋ SKILL_CODE
๋ผ๋ ์ซ์๋ก ์ ์ฅ๋์ด ์๋๋ฐ์, ์ด๊ฑด ์ฌ๋ฌ ์คํฌ CODE๋ค์ ๋ํ ๊ฐ์ด์์.
์ฆ, 2์ง์๋ก ๋ดค์ ๋ ์ฌ๋ฌ ๋นํธ๊ฐ 1๋ก ์ผ์ ธ ์๋ค๋ ๋ป์ด์ฃ ๐ก
๐ ์์ ๋ฐ์ดํฐ
SKILLCODES
NAME | CATEGORY | CODE |
---|---|---|
C++ | Back End | 4 |
JavaScript | Front End | 16 |
Java | Back End | 128 |
Python | Back End | 256 |
C# | Back End | 1024 |
React | Front End | 2048 |
Vue | Front End | 8192 |
Node.js | Back End | 16384 |
DEVELOPERS
ID | FIRST_NAME | LAST_NAME | SKILL_CODE | |
---|---|---|---|---|
D165 | Jerami | Edwards | jerami_edwards@grepp.co | 400 |
D161 | Carsen | Garza | carsen_garza@grepp.co | 2048 |
D164 | Kelly | Grant | kelly_grant@grepp.co | 1024 |
D163 | Luka | Cory | luka_cory@grepp.co | 16384 |
D162 | Cade | Cunningham | cade_cunningham@grepp.co | 8452 |
๐ ํ์ด ์ ๋ต
SKILLCODES
ํ ์ด๋ธ์์ CATEGORY๊ฐ ‘Front End’์ธ CODE๋ง ๊ณจ๋ผ์SUM
ํด์.- ๊ทธ ํฉ๊ณ๋ฅผ 2์ง์๋ก ๋ณด๋ฉด, Front End ์คํฌ๋ค์ด ๋ค์ด ์๋ ๋นํธ๋ง 1์ด ์ผ์ ธ ์์ด์!
DEVELOPERS.SKILL_CODE
์ ์ด ๊ฐ์๋นํธ AND (&)
์ฐ์ฐํด์ 0๋ณด๋ค ํฌ๋ฉด ํด๋น ๋นํธ๋ฅผ ๊ฐ์ง ๊ฑฐ์ฃ !
๐ป ์ต์ข SQL ์ฝ๋
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPERS
WHERE SKILL_CODE & (
SELECT SUM(CODE)
FROM SKILLCODES
WHERE CATEGORY = 'Front End'
) > 0
ORDER BY ID;
โ ์์ ๊ฒฐ๊ณผ
ID | FIRST_NAME | LAST_NAME | |
---|---|---|---|
D161 | carsen_garza@grepp.co | Carsen | Garza |
D162 | cade_cunningham@grepp.co | Cade | Cunningham |
D165 | jerami_edwards@grepp.co | Jerami | Edwards |
โจ ๋ง๋ฌด๋ฆฌ ํ ๋ง๋
์ด ๋ฌธ์ ๋ "๋นํธ ์ฐ์ฐ"์ ์ ์ดํดํ๋ ๊ฒ ํต์ฌ์ด์์!
SQL์์๋ ์ด๋ ๊ฒ ๋นํธ๋ฅผ ํ์ฉํด์ ํ๊ทธ๋ ์คํฌ์ ํํํ ์ ์๋ค๋ ์ , ๊ฝค ํฅ๋ฏธ๋กญ์ฃ ?
์์ผ๋ก๋ ๋ฌธ์ ๋ณด๋ฉด์ "์ด๊ฑฐ ๋นํธ๋ก ํ ์ ์๊ฒ ๋๋ฐ?" ๋ผ๋ ๊ฐ๊ฐ์ด ์๊ธฐ๋ฉด, ๋ฒ์จ ์ค๋ ฅ์๋๋๋ค ๐ช
๋๊ธ