본문 바로가기
Etc/MySQL

[MySQL] Programmers - MySQL Lv.1

by VAMOSSS 2022. 11. 3.
반응형

Programmers - MySQL Lv.1

https://school.programmers.co.kr/learn/challenges?order=recent&page=1&languages=mysql&levels=1 

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

 

1. 모든 레코드 조회하기

SELECT * 
FROM animal_ins;

 

2. 역순 정렬하기

SELECT name, datetime 
FROM animal_ins 
ORDER BY animal_id DESC;

 

3. 아픈 동물 찾기

SELECT animal_id, name 
FROM animal_ins 
WHERE intake_condition = "sick";

 

4. 어린 동물 찾기

SELECT animal_id, name 
FROM animal_ins
WHERE intake_condition<>'Aged';

 

5. 이름이 없는 동물의 아이디

SELECT animal_id 
FROM animal_ins 
WHERE name IS NULL;

 

6. 동물의 아이디와 이름

SELECT animal_id, name 
FROM animal_ins
ORDER BY animal_id;

 

7. 여러 기준으로 정렬하기

SELECT ANIMAL_ID, NAME, DATETIME 
FROM animal_ins 
ORDER BY name, datetime DESC;

 

8. 상위 n개 레코드 

SELECT NAME 
FROM animal_ins 
ORDER BY datetime ASC LIMIT 1;

 

9. 이름이 있는 동물의 아이디

SELECT animal_id 
FROM animal_ins 
WHERE name IS NOT NULL;

 

10. 최댓값 구하기

SELECT datetime 
FROM animal_ins 
ORDER BY datetime DESC LIMIT 1;

 

11. 강원도에 위치한 생산공장 목록 출력하기

SELECT FACTORY_ID, FACTORY_NAME, ADDRESS
FROM FOOD_FACTORY
WHERE ADDRESS LIKE '%강원도%'
ORDER BY FACTORY_ID ASC;

 

12. 경기도에 위치한 식품창고 목록 출력하기

SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, 
    CASE
        WHEN FREEZER_YN IS NULL THEN 'N'
        ELSE FREEZER_YN
    END
FROM FOOD_WAREHOUSE
WHERE ADDRESS LIKE '%경기도%'
ORDER BY WAREHOUSE_ID ASC

 

13. 나이 정보가 없는 회원 수 구하기

SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE AGE IS NULL;

 

14. 조건에 맞는 회원수 구하기

SELECT COUNT(*) AS USERS
FROM USER_INFO
WHERE AGE>=20 AND AGE<=29 AND JOINED LIKE '%2021%';

 

15. 가장 비싼 상품 구하기

SELECT MAX(PRICE) AS MAX_PRICE
FROM PRODUCT;

 

16. 12세 이하인 여자 환자 목록 출력하기

SELECT PT_NAME, PT_NO, GEND_CD, AGE, 
    CASE 
        WHEN TLNO IS NULL THEN 'NONE' 
        ELSE TLNO 
    END AS TLNO
FROM PATIENT
WHERE GEND_CD = 'W' AND AGE<=12
ORDER BY AGE DESC, PT_NAME ASC;

 

17. 흉부외과 또는 일반외과 의사 목록 출력하기

SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, "%Y-%m-%d")
FROM DOCTOR
WHERE MCDP_CD='CS' or MCDP_CD='GS'
ORDER BY HIRE_YMD DESC, DR_NAME ASC;

 

18. 인기 있는 아이스크림

SELECT FLAVOR
FROM FIRST_HALF
ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;

 

19. 과일로 만든 아이스크림 고르기

SELECT A.FLAVOR
FROM FIRST_HALF AS A
    ,ICECREAM_INFO AS B
WHERE A.FLAVOR = B.FLAVOR
    AND A.TOTAL_ORDER > 3000
    AND B.INGREDIENT_TYPE = 'fruit_based'
ORDER BY A.TOTAL_ORDER DESC;
반응형

'Etc > MySQL' 카테고리의 다른 글

[MySQL] Programmers - MySQL Lv.3,4,5  (1) 2022.11.29
[MySQL] Programmers - MySQL Lv.2  (0) 2022.11.16

댓글