본문 바로가기

프로그래머스26

[프로그래머스 / MySQL] 진료과별 총 예약 횟수 출력하기 문제 💡 APPOINTMENT 테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성해주세요. 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정해주시고 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬해주세요. 테이블 형태 풀이 SELECT MCDP_CD AS 진료과코드, COUNT(PT_NO) AS 5월예약건수 FROM APPOINTMENT WHERE YEAR(APNT_YMD) = 2022 AND MONTH(APNT_YMD) = 05 GROUP BY MCDP_CD ORDER BY 5월예약건수, 진료과코드 해설 FROM APPOINTMENT WHERE YEAR(APNT_YMD) = 2022 .. 2024. 2. 2.
[프로그래머스 / MySQL] 성분으로 구분한 아이스크림 총 주문량 문제 💡 상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요. 테이블 형태 풀이 SELECT I.INGREDIENT_TYPE, SUM(F.TOTAL_ORDER) AS TOTAL_ORDER FROM FIRST_HALF AS F JOIN ICECREAM_INFO AS I ON F.FLAVOR = I.FLAVOR GROUP BY I.INGREDIENT_TYPE ORDER BY TOTAL_ORDER 해설 FROM FIRST_HALF AS F JOIN ICECREAM_INFO AS I ON F.FLAVOR = I.FLAVOR 성분타입 별 아이스크림 총 주문.. 2024. 2. 2.
[프로그래머스 / MySQL] 모든 레코드 조회하기 문제 💡 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다. 테이블 형태 풀이 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 해설 SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID 전체 컬럼의 데이터를 출력하므로 SELECT문에 *(asterisk, 아스타)를 사용한다 ANIMAL_ID순으로 오름차순 정렬한다 *(asterisk, 아스타)의 다양한 사용 1. 테이블의 모든 컬럼 선택 SELECT * FROM t1 INNER JOIN t2 ...​ 2. 이름이 지정된 테이블의 모든 컬럼 선택 SELECT t1.*, t2.* FROM t1 INNER J.. 2024. 2. 2.
[프로그래머스 / MySQL] 이름이 있는 동물의 ID 문제 💡 동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다. 테이블 형태 풀이 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL 해설 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL 이름이 있는 동물 조회 → NAME이 NULL값이 아닌 데이터 2024. 2. 2.
[프로그래머스 / MySQL] 오랜 기간 보호한 동물(1) 문제 💡 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다. 테이블 형태 풀이 SELECT I.NAME, I.DATETIME FROM ANIMAL_INS AS I LEFT JOIN ANIMAL_OUTS AS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL ORDER BY I.DATETIME LIMIT 3 해설 FROM ANIMAL_INS AS I LEFT JOIN ANIMAL_OUTS AS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.ANIMAL_ID IS NULL 입양을 못 간 동물을 출력해야 한다 →.. 2024. 2. 1.
[프로그래머스 / MySQL] 조건에 맞는 도서와 저자 리스트 출력하기 문제 💡 '경제'카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. 테이블 형태 풀이 SELECT B.BOOK_ID , A.AUTHOR_NAME , DATE_FORMAT(B.PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK AS B JOIN AUTHOR AS A ON B.AUTHOR_ID = A.AUTHOR_ID WHERE B.CATEGORY = '경제' ORDER BY B.PUBLISHED_DATE 해설 FROM BOOK AS B JOIN AUTHOR AS A ON B.AUTHOR_ID = A.. 2024. 2. 1.
[프로그래머스 / MySQL] 특정 옵션이 포함된 자동차 리스트 구하기 문제 💡 CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. 테이블 형태 풀이 SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ORDER BY CAR_ID DESC 해설 SELECT * FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' 네비게이션이 포함된 데이터를 추출한다 → OPTIONS 컬럼에서 LIKE 연산자를 사용하여 문자열 부분일치를 검색한다 → 찾고자 하는 문자열 앞뒤 %는 모든 문자, _는 한 글자를 의미한다 LIKE와 와일드카드 문자 mys.. 2024. 2. 1.
[프로그래머스 / MySQL] 자동차 대여 기록에서 장기/단기 대여 구분하기 문제 💡 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. 테이블 형태 풀이 SELECT HISTORY_ID , CAR_ID , DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE , DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE , CASE WHEN DATEDIFF(END_DATE,START_DATE) + 1 >= 30 TH.. 2024. 2. 1.
[프로그래머스 / MySQL] 나이 정보가 없는 회원 수 구하기 문제 💡 USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요. 테이블 형태 풀이 SELECT COUNT(*) AS USERS FROM USER_INFO WHERE AGE IS NULL 해설 FROM USER_INFO WHERE AGE IS NULL 나이 정보가 없는 회원 → AGE IS NULL SELECT COUNT(*) AS USERS WHERE 문에서 나이 정보가 없는 회원만 선택하는 조건이 적용되었으므로 조건 적용 이후 출력되는 데이터를 모두 카운트하여 USERS 라는 컬럼명으로 추출한다 2024. 2. 1.