행궁동 데이터 엔지니어

반응형

프로그래머스 SQL 문제 중 String, Date 카테고리에 속한 문제를 풀어 봤습니다.

WHERE절에 OR을 여러 개 사용하는 방법과, IN() 연산자를 사용하는 총 2가지 방법으로 풀어봤습니다.

 

1. WHERE 절에 OR을 여러 개 사용

2. IN() 연산자 사용

 

아래 쿼리문을 보시면 알겠지만 IN() 연산자를 사용할 때 쿼리문이 확실히 간결합니다.

 

IN() 연산자를 포함한 비교 연산자(comparision operator) 몇 가지 정리

  • IS : 왼쪽 피연산자와 오른쪽 피연산자가 같으면 참을 반환(오른쪽 피연산자가 BOOLEAN 값인 TRUE, FALE, UNKNOWN 값을 때 사용)
  • IS NOT : 왼쪽 피연산자와 오른쪽 피연산자가 같지 않으면 참을 반환
  • BETWEEN MIN AND MAX : 피연산자의 값이 MIN 값보다 크거나 같고, MAX 값보다 작거나 같으면 참을 반환
  • NOT BETWEEN MIN AND MAX : 피연산자의 값이 MIN 보다 작고, MAX 값도가 크면 참을 반환
  • IN() : 피연산자의 값이 인수로 전달받은 리스트에 존재하면 참을 반환
  • NOT IN() : 피연산자의 값이 인수로 전달받은 리스트에 존재하지 않으면 참을 반환

참고 : TCP School, 비교 연산자, http://tcpschool.com/mysql/mysql_operator_comparison

https://programmers.co.kr/learn/courses/30/lessons/59046

 

코딩테스트 연습 - 루시와 엘라 찾기 | 프로그래머스

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALS

programmers.co.kr

쿼리문

 

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band