Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 1764 자바
- 자바 2164
- 10813 자바
- 그리디
- IAM 사용자
- IAM Identity Center
- 백준
- 자바 2346
- 2798 자바
- 티움투어
- BFS
- 1010 자바
- 코딩테스트
- dfs
- 백준 28278 자바
- 2748 자바
- 2346 풍선 터뜨리기
- 백준 1764 자바
- 10807 자바
- 자바 1003
- 10810 자바
- 자바 10866
- 백준 10866 자바
- 데보션영 3기
- 자바 28278
- 백준 2346 자바
- 자바
- 2164 자바
- 파이썬
- 28278 스택 2
Archives
- Today
- Total
자두의 데브로그
[MySQL] 프로그래머스 FrontEnd 개발자 찾기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/276035
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
처음에는 이 문제가 왜 join인지 몰라서 어떻게 푸는지 조금 헤맸다. 물론 문제 유형을 보고 풀면 안되긴 하지만.. 무엇보다 id, email, first_name, last_name 이 developers에만 있었기 때문에 더더욱 서브쿼리로 풀면 되지 않겠나 싶었는데 아니었다.
도대체 code랑 skill_code 비교하는 부분을 어디에 넣어야할지 몰라서 결국 구글링을 통해 문제를 해결했는데 답은 join에 있었다.
join을 위해서 on으로 조건을 줄 때 skillcodes에 있는 code의 값과 developers의 skill_code의 값을 & 연산했을 때 skillcodes의 code 값이 나오는 부분에 대해서 join하면 됐다. 그리고 Front End 스킬을 가지고 있어야 되니까 where에 해당하는 조건을 넣으면 된다. 마지막으로는 id를 distinct로 지정해주어야 한다. 만약 그렇지 않으면, 여러 개의 보유 스킬을 가지고 있는 경우 중복되어 ID가 저장되므로 (ex. React, Vue 모두 보유했다면 두 번 출력) distinct로 지정해주는 것도 잊지 말아야 한다.
-- 코드를 작성해주세요
select distinct id, email, first_name, last_name
from developers d
join skillcodes s
on s.code = s.code & d.skill_code
where s.category Like 'Front%'
order by id;
'코딩테스트 > SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 식품분류별 가장 비싼 식품의 정보 조회하기 (1) | 2024.10.18 |
---|---|
[MySQL] 프로그래머스 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (3) | 2024.10.11 |
[MySQL] 프로그래머스 자동차 평균 대여 기간 구하기 (0) | 2024.10.11 |
[MySQL] 프로그래머스 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2024.10.11 |
[MySQL] 프로그래머스 노선별 평균 역 사이 거리 조회하기 (0) | 2024.10.11 |