1. 이름이 없는 동물의 아이디
https://school.programmers.co.kr/learn/courses/30/lessons/59039
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL
ORDER BY ANIMAL_ID;
- IS NULL도 이제 좀 적응된 것 같다
2. 조건에 맞는 회원수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/131535
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요.
SELECT COUNT(USER_ID) AS 'USERS'
FROM USER_INFO
WHERE AGE BETWEEN 20 AND 29
AND JOINED LIKE '2021%';
- BETWEEN a AND b는 a와 b를 모두 포함하는 이상, 이하의 데이터를 출력한다.
- 2021년에 가입한 회원 중을 표현하는 방식에도 JOINED BETWEEN '2021-01-01' AND '2021-12-31'이 가능하지만, 모두 2021년이라는 데이터를 포함한다는 점에서 LIKE로 문제를 해결했다.
3. 중성화 여부 파악하기
https://school.programmers.co.kr/learn/courses/30/lessons/59409
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.
SELECT ANIMAL_ID, NAME,
IF(SEX_UPON_INTAKE LIKE 'Neutered%' or SEX_UPON_INTAKE LIKE 'Spayed%', 'O', 'X')
AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
- MySQL의 IF문을 사용했다. IF문의 형식은 IF(조건, 참일 경우 출력문, 거짓일 경우 출력문) 이다.