코딩무비

[프로그래머스] SQL 코테 정복하기

by 코딩무비
반응형

전체 문제

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

더보기를 클릭하셔서 각 문제를 확인 할 수 있습니다!

select 문 

더보기

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

모든 레코드 정복하기

select *
from animal_ins
order by animal_id;

 

역순 정렬하기

 

SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC

 

 

아픈 동물 찾기

SELECT ANIMAL_ID,NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION='Sick';

어린 동물 찾기

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION != 'Aged';

 

동물의 아이디와 이름

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
order by ANIMAL_ID;

여러기준 정렬하기

SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME asc ,DATETIME DESC;

 상위 n개 레코드

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME 
LIMIT 1;

 

 

SUM, MAX , MIN

더보기

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

최대값 구하기

SELECT DATETIME AS '시간'
FROM ANIMAL_INS
ORDER BY DATETIME  DESC
LIMIT 1;

최솟값 구하기

SELECT DATETIME AS '시간'
FROM ANIMAL_INS
ORDER BY DATETIME 
LIMIT 1;

동물수 구하기

SELECT COUNT(*) AS count
FROM ANIMAL_INS;

중복 제거하기

SELECT COUNT(DISTINCT(NAME)) 
FROM ANIMAL_INS;

GROUP BY

더보기

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

고양이와 개는 몇 마리 있을까

SELECT ANIMAL_TYPE, COUNT(*) count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE;

동명 동물 수 찾기

SELECT NAME, COUNT(*) COUNT
FROM ANIMAL_INS
GROUP BY NAME 
HAVING COUNT(NAME)>1
ORDER BY NAME;

 

입양 시각 구하기(1)

SELECT DATE_FORMAT(DATETIME,"%H") HOUR , COUNT(*) COUNT
FROM ANIMAL_OUTS
GROUP BY HOUR
HAVING HOUR BETWEEN 9 AND 20
ORDER BY HOUR;

 

입양 시각 구하기(2)

못풀었어요

 

 

 

IS NULL

더보기

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

이름이 없는 동물의 아이디

SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NULL;

 

이름이 있는 동물의 아이디

SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;

 

NULL 처리하기

SELECT ANIMAL_TYPE, IF(NAME IS NOT NULL,NAME,"No name") NAME ,SEX_UPON_INTAKE
FROM ANIMAL_INS

 

JOIN

더보기

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

없어진 기록 찾기

SELECT ANIMAL_ID,NAME
FROM ANIMAL_OUTS
WHERE ANIMAL_ID NOT IN (
    SELECT ANIMAL_ID
    FROM ANIMAL_INS
   );

 

있었는데요 없었습니다

SELECT I.ANIMAL_ID,I.NAME
FROM ANIMAL_INS AS I
JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE
    I.DATETIME> O.DATETIME
ORDER BY I.DATETIME;

오랜 기간 보호한 동물(1)

SELECT NAME,DATETIME
FROM ANIMAL_INS AS I
WHERE I.ANIMAL_ID NOT IN (SELECT ANIMAL_ID
                     FROM ANIMAL_OUTS
                     )
ORDER BY I.DATETIME 
LIMIT 3

 

 

보호소에서 중성화한 동물 

SELECT I.ANIMAL_ID , I.ANIMAL_TYPE , I.NAME 
FROM ANIMAL_INS AS I
JOIN ANIMAL_OUTS AS O
ON I.ANIMAL_ID = O.ANIMAL_ID
WHERE I.SEX_UPON_INTAKE LIKE 'Intact%' AND
O.SEX_UPON_OUTCOME NOT LIKE 'Intact%'

OR 

SELECT ANIMAL_ID,ANIMAL_TYPE,NAME
FROM ANIMAL_INS
WHERE SEX_UPON_INTAKE LIKE "Intact%" AND
ANIMAL_ID IN (
    SELECT ANIMAL_ID
    FROM ANIMAL_OUTS
    WHERE SEX_UPON_OUTCOME NOT LIKE "Intact%" 
);

 

String, Date

더보기

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

루시와 엘라 찾기

SELECT ANIMAL_ID,NAME,SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY ANIMAL_ID ASC

 

이름에 el이 들어가는 동물 찾기

 

-- 코드를 입력하세요
SELECT ANIMAL_ID, NAME 
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' and animal_type = 'Dog'
order by name;

중성화 여부 파악하기

SELECT ANIMAL_ID,NAME,IF(SEX_UPON_INTAKE LIKE "Neutered%" 
                         or SEX_UPON_INTAKE LIKE "Spayed%","O","X") 중성화
FROM ANIMAL_INS

 

오랜 기간 보호한 동물

-- 코드를 입력하세요
SELECT O.ANIMAL_ID,O.NAME
FROM ANIMAL_OUTS AS O
JOIN ANIMAL_INS AS I
ON O.ANIMAL_ID = I.ANIMAL_ID
ORDER BY O.DATETIME - I.DATETIME DESC
LIMIT 2

 

DATETIME에서 DATE로 형변환

SELECT ANIMAL_ID , NAME , DATE_FORMAT(DATETIME,"%Y-%m-%d") 날짜
FROM ANIMAL_INS

 

추가문제

더보기

 

++ 요즘 SQL 코테 문제들의 난이도가  어려운 것 같습니다

공부를 더 해야겠어요

반응형

블로그의 정보

코딩무비

코딩무비

활동하기