SQL 문제 풀이 (2)에 이어서 마지막 문제풀이를 이어나가겠습니다.
고양이와 개는 몇 마리 있을까 문제 설명
-- 코드를 입력하세요
SELECT ANIMAL_TYPE, COUNT(ANIMAL_ID) AS count FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE
COUNT를 사용하여 동물의 수를 세주고, GROUP BY를 사용하여 개와 고양이를 합쳐준 후에 고양이, 개 순서로 출력될 수 있도록 ORDER BY로 정렬시켜준다.
NULL 처리하기 문제 설명
-- 코드를 입력하세요
SELECT ANIMAL_TYPE,
CASE WHEN NAME IS NULL THEN 'No name' ELSE NAME END AS NAME,
SEX_UPON_INTAKE FROM ANIMAL_INS
CASE WHEN (조건문) THEN (조건문이 참일 경우) ELSE (조건문이 거짓일 경우) END (끝), 해당 코드를 사용하면 문제를 해결할 수 있다.
동명 동물 수 찾기 문제 설명
-- 코드를 입력하세요
SELECT NAME, COUNT(NAME) FROM ANIMAL_INS
GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME ASC
HAVING은 GROUP BY 실행 중에 필요한 조건들을 설정할 수 있다. HAVING을 통해 COUNT 된 NAME의 수가 1보다 크다.라는 조건을 추가해주는 것으로 문제를 해결할 수 있다.
루시와 엘라 찾기 문제 설명
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS
WHERE (NAME='Lucy' OR NAME='Ella' OR NAME='Pickle' OR NAME='Rogan' OR NAME='Sabrina' OR NAME='Mitty')
ORDER BY ANIMAL_ID
NAME이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 정보들만 선택하여 ANIMAL_ID에 맞게 정렬시켜준다.
이름에 el이 들어가는 동물 찾기 문제 설명
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE NAME LIKE '%el%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME
%el%를 통해서 NAME에 el이 들어간 내용이 있다면 검색한다. 검색된 결과 중에 ANIMAL_TYPE이 Dog인 것들만 NAME으로 정렬시켜준다.
중성화 여부 파악하기 문제 설명
-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME,
CASE SEX_UPON_INTAKE WHEN SEX_UPON_INTAKE LIKE 'Intact%' THEN 'O' ELSE 'X' END AS '중성화'
FROM ANIMAL_INS ORDER BY ANIMAL_ID
CASE WHEN 조건으로 SEX_UPON_INTAKE에 Intact가 포함된 내용을 검색하고, 참이라면 O 거짓이라면 X이라고 설정한다. 그리고 검색된 결과를 ANIMAL_ID에 맞게 정렬한다.
이렇게 [Problem Solving] SQL 문제 풀이 (1), [Problem Solving] SQL 문제 풀이 (2) 그리고 이번 (3) 번까지로 코딩 테스트 SQL 기본 문제에 대해서 풀어보았다.
'취업을 준비하며 정리하는 컴퓨터 지식 > Problem Solving' 카테고리의 다른 글
[Problem Solving] 백준 1339번 단어 수학 문제 풀이 (0) | 2021.08.13 |
---|---|
[Problem Solving] SQL 문제 풀이: 테이블 2개 이상 (0) | 2021.03.29 |
[Problem Solving] SQL 문제 풀이 (2) (0) | 2021.02.26 |
[Problem Solving] SQL 문제 풀이 (1) (0) | 2021.02.25 |
[Problem Solving] 백준 2225번 합분해 문제풀이 (0) | 2021.02.16 |