35번: sql 날짜데이터 간 연산 가능. 굳이 date_format 사용하지 않아도 됨.
36번: LIKE, IN 조건문
- LIKE vs IN 조건문
- LIKE 조건문: 패턴 매칭으로 텍스트 필터링
- 주로 와일드카드와 함께 사용
- %: 0개 이상의 문자와 일치
- -: 정확히 1개의 문자와 일치
- WHERE name LIKE ‘A_’ ;
→ 이름이 두 글자이고, ‘A’로 시작하는 데이터 조회
- WHERE email LIKE ‘%@gmail.com’;
→ 이메일에 특정 문자열이 포함된 경우
- IN 조건문: 여러 조건을 동시에 검사
- 여러 값 중에서 일치하는 데이터를 조회할 때 사용. 다수의 값 비교 시 유리.
- OR 조건을 간단히 표현 가능
- WHERE country IN (’Korea’, ‘Japan’, ‘China’);
→ 특정 국가의 데이터를 조회
- 서브쿼리와 함께 사용하기
→ WHERE category_id IN (SELECT id FROM categories WHERE name = ‘Electronics’);
- 두 조건문 함께 사용하기:
예제: 이메일이 특정 도메인으로 끝나고, 특정 국가에 속한 사용자 조회
- WHERE email LIKE ‘%@gmail.com’
AND country IN (’Korea’, ‘Japan’, ‘China’);
LIKE 사용
select i.animal_id ANIMAL_ID,
i.animal_type ANIMAL_TYPE,
i.name NAME
from animal_ins i inner join animal_outs o on i.animal_id=o.animal_id
where i.sex_upon_intake like ('Intact%')
and (o.sex_upon_outcome like ('Neutered%') or o.sex_upon_outcome like ('Spayed%'))
IN 사용 → 값이 정확이 일치해야 함.
select i.animal_id ANIMAL_ID,
i.animal_type ANIMAL_TYPE,
i.name NAME
from animal_ins i inner join animal_outs o on i.animal_id=o.animal_id
where i.sex_upon_intake like ('Intact%')
and o.sex_upon_outcome IN ('Neutered Male','Spayed Female')