https://school.programmers.co.kr/learn/courses/30/lessons/276013
코드설명
IN + OR + ORDER BY 를 활용합니다.
OR을 활용해서 각 컬럼들을 모두 확인해도 되고,
IN을 활용해서 진행해도 됩니다.
OR을 활용한 방식이 가장 간단합니다.
처음에 IN 연산자를 쓸 생각을 못했었는데, 이유는 IN 연산자는 하나의 칼럼에 대해 여러 값들을 찾는 방식이라 생각하여 사용할 생각을 못했습니다.
하지만, 아래와 같은 방식으로도 작성이 가능합니다.
WHERE 'Python' IN (DI1.SKILL_1, DI1.SKILL_2, DI1.SKILL_3)
코드
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 ASC;
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPER_INFOS WHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3) ORDER BY ID ASC;
OR 방식
SELECT ID AS ID, EMAIL AS EMAIL, FIRST_NAME AS FIRST_NAME, LAST_NAME AS LAST_NAME
FROM DEVELOPER_INFOS AS DI1
WHERE DI1.SKILL_1 = 'Python' OR DI1.SKILL_2 = 'Python' OR DI1.SKILL_3 = 'Python'
ORDER BY DI1.ID ASC
여러 컬럼들을 IN 으로 찾기.
SELECT ID AS ID, EMAIL AS EMAIL, FIRST_NAME AS FIRST_NAME, LAST_NAME AS LAST_NAME
FROM DEVELOPER_INFOS AS DI1
WHERE 'Python' IN (DI1.SKILL_1, DI1.SKILL_2, DI1.SKILL_3)
ORDER BY DI1.ID ASC
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS AS DI
WHERE DI.SKILL_1 = 'PYTHON' OR DI.SKILL_2 = 'PYTHON' OR DI.SKILL_3 = 'PYTHON'
ORDER BY DI.ID ASC;