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
- Programmers
- Algorithm
- 유사도
- 대시보드
- 데이터
- 리눅스 crontab 사용법
- 인터랙티브 차트
- 생육
- group by
- 공유
- 스마트팜
- 농정원
- 자동화
- cron 스케줄 설정
- 시계열 시각화
- 농촌진흥청
- 웹앱
- cron과 crontab 차이
- 농림수산식품교육문화정보원
- 스마트팜코리아
- join
- SQL
- DTW
- 데이터분석
- 주기적 실행
- 리눅스 자동화 스크립트
- streamlit
- solvesql
- ML
- Python
Archives
- Today
- Total
Positive-Influence-Data
[SQL] 멘토링 짝꿍 리스트 본문
❗ 본 포스팅은 Solvesql의 연습문제를 활용합니다. 다양한 SQL 문제를 풀어보고 싶다면 Solvesql를 방문하세요.
아래의 문제는 멘토링 짝꿍 리스트 문제이다.
문제를 해석하보자.
- 멘티(신규입사자) 는 2021-12-31일로부터 3개월 이내에 입사자 즉, 2021-09-31이후로 입사한 사람을 찾으면 된다.
- 멘토는 입사한지 2년이상되는 직원이니까 2019년 12월 31일 이전에 입사한 사람을 찾으면 된다.
- 조건은 서로다른분야에 속한 직원끼리 멘토멘티를 엮어준다.
- 멘티기준으로 매칭이 없어도 출력해야한다,(left join)
- 멘티ID를 기준으로 오름차순, 동 순위일때는 멘토 ID기준으로 오름차순정렬
이런식으로 문제를 풀면 될 듯하다. 여기에서 조인의 개념이 들어가므로 SQL의 조인에 대해 모르겠으면 공부하고 다시 이 글을 보면 되겠다.
- 테이블의 정의가 위처럼 되어있다. 다행히 입사일이 DATE로 되어있어서 따로 처리할 부분은 없어보인다.
필자가 쓴 코드를 살펴보자.
select mti.employee_id as mentee_id,
mti.name as mentee_name,
mto.employee_id as mentor_id,
mto.name as mentor_name
from (select *
from employees
where join_date>='2021-09-31') as mti left join
(select *
from employees
where join_date<='2019-12-31') as mto
on (mti.department != mto.department)
order by mentee_id, mentor_id;
** 멘티 테이블을 하나 만들고 멘토 테이블을 만들어서 서로 JOIN하는 방식으로 진행했다.
문제에서 제시하는 조건만 잘따라주면 무리없이 풀 수 있을것 같다.
'SQL' 카테고리의 다른 글
[SQL] 작품이 없는 작가 찾기 (0) | 2022.11.30 |
---|---|
[SQL] 일별 블로그 방문자 수 집계 (0) | 2022.11.29 |
[SQL] 버뮤다 삼각지대에 들어가버린 택배 (0) | 2022.11.28 |
[SQL] 쇼핑몰의 일일 매출액과 ARPPU (0) | 2022.11.24 |
[SQL] MYSQL - DATE_FORMAT (0) | 2022.11.15 |
Comments