[SQL] Python 개발자 찾기

하나·2025년 1월 12일
0

SQL TEST

목록 보기
7/9
post-thumbnail

🪄문제 분석 요약

Python 스킬을 가진 개발자의 정보 조회하여, 개발자의 ID, 이메일, 이름, 성 조회

  • DEVELOPER_INFOS 테이블에서 조회, ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_1, SKILL_2, SKILL_3으로 컬럼 구성.
  • 결과는 ID 기준으로 오름차순 정렬

🪄접근법

  • WHERE문으로 SKILL 3컬럼에 대해 각각 Python이 있는지 확인
  • SELECT문에서 지정 컬럼만 뽑아 조회

🪄SQL

SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python'
ORDER BY ID;

🪄틀린 부분 수정 OR 다른 풀이

-- 틀린 풀이
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE SKILL_1|SKILL_2|SKILL_3 = 'Python'
ORDER BY ID;

💡 OR = |라고 생각하여 |를 사용하였는데 두 연산자의 동작 방식이 달랐다!!

OR : 논리 연산자로 조건을 연결하는데 사용

  • 여러 조건에 사용되며 컬럼 값을 논리적으로 비교하는데 사용

'|' : 비트 연산자로 두 값을 비교하는 연산 수행

  • 숫자 값의 비트 표현을 대상으로 작동, 컬럼명이나 문자열에서는 사용 불가
  • 다른 풀이 : IN을 활용한 풀이
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3)
ORDER BY ID;
profile
Start with hello world:)

0개의 댓글

관련 채용 정보