본문 바로가기

DB

[My_SQL] 조건별로 분류하여 주문상태 출력하기 문제 Case When 메소드를 사용할 줄 아는가에 대한 문제이다.out_date 값을 기준으로 2022-05-01까지는 출고완료 이후는 출고대기 out_date값이 없으면 출고미정으로 출력한다.해당 값을 order_id 기준으로 오름차순 정리한다.코드select order_id, product_id, DATE_FORMAT(out_date, '%Y-%m-%d'),  case when DATE_FORMAT(out_date, '%Y-%m-%d')     when DATE_FORMAT(out_date, '%Y-%m-%d') > DATE_FORMAT('2022-05-01', '%Y-%m-%d') then '출고대기'     else '출고미정' end as 출고여부 from food_order order by .. 더보기
[MY_SQL] 조건에 맞는 개발자 찾기 문제https://school.programmers.co.kr/learn/courses/30/lessons/276034 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드select d.id, d.email, d.first_name, d.last_name from developers d where d.skill_code & (select code from skillcodes where name = 'Python') OR d.skill_code & (select code from skillcodes where name = 'C#') order by d.id; 더보기
진료과별 총 예약 횟수 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/132202?language=mysql - APPOINTMENT 테이블에서 진료과코드별 진료과코드와 5월 예약건수를 조회한다. 단, 2022년 5월의 기록이어야하며 각각의 컬럼명이 '진료과 코드', '5월예약건수'이어야한다. 결과는 환자수 기준 오름차, 진료과 코드 기준 오름차 정렬한다. 1. 진로 예약일이 5월인 값들만 조회한다. 2. 해당 값들을 진료과 별로 그룹핑한다. 3. 진료과코드와 count함수를 이용한 갯수를 조회한다. - SQL mysql : SELECT mcdp_cd as "진료과 코드", count(*) AS "5월예약건수" FROM APPOINTMENT WHERE MONTH(apnt.. 더보기
대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/151139 - CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블의 월별 자동차 id 별 총 대여횟수를 출력한다. 단. 대여시작일 기준 2022년 8월 부터 10월까지 대여횟수가 5회 이상인 자동차들에 한해서이다. 또한 결과를 월을 기준 오름차, 자동자 id 기준 내림차 정렬한다. 1. id별로 그룹핑한 8월부터 10월까지의 기록을 조회한다. 2. 대여 횟수가 5회 이상인 기록으로 조건절을 건 car_id만 출력한다. 3. 해당 결과에 해당하는 car_id를 가지고 8월 ~ 10월의 기록을 출력한다. - SQL mysql : SELECT MONTH(START_DATE), CAR_ID,.. 더보기
자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/151137 - CAR_RENTAL_COMPANY_CAR 테이블의 자동차 종류별 수를 조회한다. 단, 통풍시트, 열선시트, 가죽시트 중 하나 이상 옵션이 포함된 자동차여야한다. 또한 자동차 수의 컬럼명은 CARS이고 결과를 종류 기준 오름차 정렬한다. 1. car_type 기준 그룹핑한다. 2. options를 like를 사용ㅎ여 통풍시트 가죽시트 열선시트 중 하나라도 있는지 확인한다. - SQL SELECT car_type, count(*) FROM CAR_RENTAL_COMPANY_CAR WHERE options LIKE '%통풍시트%' OR options LIKE '%가죽시트%' OR option.. 더보기
자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 https://school.programmers.co.kr/learn/courses/30/lessons/157340 - CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차ID와 자동차 대여여부를 출력한다 단, 대여여부는 2022년 10월 16일에 대여중인 자동차를 대여 중, 아니면 대여가능으로 표시해주고 AVAILABILITY로 표기한다. 또한 반납 날짜가 10월 16일일 경우에도 대여중으로 표기하고 결과를 자동차 id 기준 내림차 정렬한다. 1. car_id 기준으로 그룹핑한다. 2.. case 문으로 시작일이 10월 16일 보다 작거나 종료일이 16일보다 큰 id를 뽑아서 그 값에 속하는 car_id를 대여중 아닌것을 대여 가능으로 출력한다. - SQL mysql : SEL.. 더보기
성분으로 구분한 아이스크림 총 주문량 https://school.programmers.co.kr/learn/courses/30/lessons/133026 - FIRST_HALF, ICECREAM_INFO 테이블의 아이스크림 성분 타입과 아이스크림의 총 주문량으로 조회한다. 단, 총 주문량 기준 오름차 정렬하며 컬럼명을 total_order로 지정한다. 1. 두 테이블을 flavor 기준 조인하고 ingredient_type을 기준으로 그룹핑한다. 2. 그룹핑한 테이블에 SUM 함수로 total_order를 계산해서 조회한다. - SQL SELECT ingredient_type, sum(total_order) total_order FROM FIRST_HALF half, ICECREAM_INFO info WHERE info.flavor = ha.. 더보기
저자 별 카테고리 별 매출액 집계하기 https://school.programmers.co.kr/learn/courses/30/lessons/144856 - BOOK, AUTHOR, BOOK_SALES 테이블의 저자id, 저자명, 카테고리, 매출액을 조회한다. 단, 2022년 1월 판매 데이터를 기준으로 저자별, 카테고리별 매출액을 구할 것이며, 저자id 기준 오름차, 카테고리 기준 내림차 정렬한다. 1. 2022년 1월의 판매 데이터를 뽑아낸다. 이후 book_id를 기준으로 book과 book_sales 테이블을 조인한다. 2. 카테고리 저자ID 두 값을 기준으로 그룹핑하여 sum 함수를 사용해 그룹별 총 매출액을 구한다. 3. 그룹핑한 테이블과 AUTHOR 테이블을 author_id를 기준으로 조인하여 필요 값을 조인한다. - SQL .. 더보기