목록DB/Programmers SQL (84)
YataNox

문제 10월 중에 대여를 시작한 세단의 car_id를 내림차순으로 정렬하는 문제이다.해당 문제를 풀기 위해서는 1. distinct2. DATE_FORMAT3. in세 예약어를 알아야한다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 에서 10월 중에 대여를 시작한 차를 중복없이 출력하고해당 car_id를 가지면서 차 종류가 세단인 차량의 car_id를 CAR_RENTAL_COMPANY_CAR 테이블에서 출력한다.코드select car_id from CAR_RENTAL_COMPANY_CAR where car_type = '세단' and car_id in (select distinct ch.car_id from CAR_RENTAL_COMPANY_RENTAL_HISTORY ch ..

문제 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 ..

문제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..