일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- PostgreSQL
- MySQL
- mysql :=
- 다중 JOIN
- not in
- hackerrank
- SUM
- 결측값
- seaborn
- SQL
- solvesql
- 그로스해킹
- join
- TRUNCATE
- 전처리
- Limit
- matplotlib
- having
- 데이터시각화
- airflow 설치
- 파이썬
- SQLite
- Round
- GROUPBY
- Oracle
- 프로그래머스
- 데이터리안 웨비나
- pandas
- 데이터분석
- 머신러닝
Archives
- Today
- Total
Milky's note
[프로그래머스] 중성화 여부 파악하기 본문
프로그래머스 문제를 요약하면 다음과 같다.
조건을 정해주고 맞으면 'O', 아니면 'X' 로 컬럼을 추가해주는 문제이다.
여기서 조건문이랑 LIKE 조건(2개이상)을 사용하는데 헷갈릴 수도 있을 것 같아서 일단 정리한다.
조건을 검색할 때 데이터 컬럼 값을 알면 IN ('데이터', '데이터') 로 검색하면 되는데,
일부만 안다면 LIKE '%데이터%' 조건을 당연히 사용한다.
그런데 LIKE IN이 되면 좋겠지만.. 되지 않아서 LIKE 조건 여러개를 사용할 땐 다음과 같이 사용해야한다.
SELECT * FROM TEST
WHERE NAME LIKE '%A%' OR NAME LIKE '%B%'
다음으로는 조건문인 CASE를 사용하는 방법이다.
CASE 구문은 값에 따라 결과를 RETURN 하는 방법과 조건에 따라 결과를 RETURN 하는 방법 두 가지가 있다.
#값에 따라 결과 값을 RETURN
CASE 컬럼
WHEN 값1 THEN 결과1
WHEN 값2 THEN 결과2 END;
#조건에 따라 결과 값을 RETURN
CASE
WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2 END;
CASE 구문은 활용이 많이 되므로 꼭 알아두는 게 좋다!!!!!!!!!!
결론으로 프로그래머스 SQL 문제의 답은 다음과 같다.
중성화라는 조건에 따라 결과 값이 달라지므로 CASE 구문 두번 째 방법을 사용하였고,
해당 조건 외에 나머지 값을 나타내는 ELSE를 사용하였다.
SELECT ANIMAL_ID, NAME,
case when SEX_UPON_INTAKE like '%Neutered%' or SEX_UPON_INTAKE like '%Spayed%' THEN 'O'
ELSE 'X' END 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
'SQL > SQL 코딩 테스트-프로그래머스' 카테고리의 다른 글
[프로그래머스] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (0) | 2023.05.12 |
---|---|
[프로그래머스] 입양 시각 구하기(2) (0) | 2021.12.27 |
Comments