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
- 파이썬 철저 입문
- SQL
- 스파르타코딩
- wil
- 스파르타 코딩
- 텍스트 분석
- 파이썬
- 내일배움
- TiL
- 내일배움캠프
- harkerrank
- 내일배움카드
- 파이썬 머신러닝 완벽 가이드
- 티스토리챌린지
- 미세먼지
- 스파르타
- MySQL
- Cluster
- 실전 데이터 분석 프로젝트
- hackerrank
- 중회귀모형
- R
- 프로젝트
- 웹 스크랩핑
- 회귀분석
- 파이썬 머신러닝 완벽가이드
- 프로그래머스
- 파이썬 철저입문
- 오블완
- 어쩌다 마케팅
Archives
- Today
- Total
OkBublewrap
조건에 맞는 개발자 찾기 본문
조건에 맞는 개발자 찾기
문제 설명
DEVELOPERS 테이블에서 Python이나 C# 스킬을 가진 개발자의 정보를 조회하려 합니다. 조건에 맞는 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요.
결과는 ID를 기준으로 오름차순 정렬해 주세요.
입력 테이블
SKILLCODES
NAME
CATEGORY
CODE
DEVELOPERS
ID
FIRST_NAME
order_amount
LAST_NAME
EMAIL
SKILL_CODE
풀이
1. JOIN 활용
SKILL_CODE
와 CODE
를 비트 연산자로 JOIN
SELECT *
FROM DEVELOPERS D
JOIN SKILLCODES S ON (D.SKILL_CODE & S.CODE) = S.CODE
WHERE FIRST_NAME = 'Jerami'
예시
ID가 D165
인 Edwards Jerami 개발자는 SKILL CODE
가 400이다.
400을 비트 연산으로 하면 110010000 이다.
400은 256 + 128 + 16 이므로 Python, Java, JavaScript가 되어야 한다.
ID | FIRST_NAME | LAST_NAME | SKILL_CODE | NAME | CATEGORY | CODE | |
---|---|---|---|---|---|---|---|
D165 | Jerami | Edwards | jerami_edwards@grepp.co | 400 | JavaScript | Front End | 16 |
D165 | Jerami | Edwards | jerami_edwards@grepp.co | 400 | Java | Back End | 128 |
D165 | Jerami | Edwards | jerami_edwards@grepp.co | 400 | Python | Back End | 256 |
2. WHERE 조건절 Python, C# 가져오기
WHERE S.NAME = 'C#' OR S.NAME = 'Python'
3. 전체 코드 - 중복 제거 DISTINCT ID 사용
SELECT DISTINCT
D.ID,
D.EMAIL,
D.FIRST_NAME,
D.LAST_NAME
FROM
DEVELOPERS D
JOIN
SKILLCODES S
ON
(D.SKILL_CODE & S.CODE) = S.CODE
WHERE S.NAME = 'C#' OR S.NAME = 'Python'
ORDER BY D.ID ASC;
'개발 > SQL' 카테고리의 다른 글
Binary Tree Nodes (0) | 2025.01.10 |
---|---|
특정 세대의 대장균 찾기 (0) | 2025.01.10 |
부모의 형질을 모두 가지는 대장균 찾기 (0) | 2025.01.10 |
부모의 형질을 모두 가지는 대장균 찾기 (0) | 2025.01.10 |
Symmetric Pairs (0) | 2025.01.10 |