[SQL] WHERE 절에 조건을 표시하는 방식
프로그래머스 - 어린 동물 찾기
동물 보호소에 들어온 동물 중 젊은 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요.
이때 결과는 아이디 순으로 조회해주세요.
조건을 쓰는 방식이 다양하게 있는데, 어떤 방식을 쓰느냐에 따라 효율이 갈릴 것 같아서 정리!
- '!=' 사용
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION != 'Aged'
- 'NOT LIKE' 사용
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION NOT LIKE 'Aged';
- 'NOT IN' 연산자 사용
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION NOT IN ('Aged')
위의 두 조건과는 다르게 다양한 데이터값을 넣을수 있어서 복수 조건이 필요할 때 좋을것 같다.
- 'NOT EXISTS' 사용
SELECT ins1.ANIMAL_ID, ins1.NAME
FROM ANIMAL_INS as ins1
WHERE NOT EXISTS (SELECT * FROM ANIMAL_INS AS ins2 WHERE ins1.INTAKE_CONDITION = 'Aged')
쓸데없이 번거롭게 풀기는 했지만, 다른 테이블의 서브쿼리에서 WHERE NOT EXISTS로 바로 표현 가능하다는게 매력적인 것 같다. 조건을 조금더 명료하게 보기 좋을것 같다.
# NOT LIKE로 풀기
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION NOT LIKE 'Aged';
# NOT IN 으로 풀기(괄호안 조건 안되는걸 가져올수 있음)
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION NOT IN ('Aged')
# != 으로도 풀기
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION != 'Aged'
Author And Source
이 문제에 관하여([SQL] WHERE 절에 조건을 표시하는 방식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cyanred9/SQL-프로그래머스-특정-문제-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)