Python 스킬을 가진 개발자의 정보 조회하여, 개발자의 ID, 이메일, 이름, 성 조회
- DEVELOPER_INFOS 테이블에서 조회,
ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_1, SKILL_2, SKILL_3
으로 컬럼 구성.- 결과는
ID 기준으로 오름차순 정렬
- WHERE문으로 SKILL 3컬럼에 대해 각각 Python이 있는지 확인
- SELECT문에서 지정 컬럼만 뽑아 조회
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;
-- 틀린 풀이 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;