목록SQL 코딩테스트 (23)
하루에 하나씩 공부하기
- 문제CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. 코딩테스트 연습 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programm..
- 문제물고기 종류 별로 가장 큰 물고기의 ID, 물고기 이름, 길이를 출력하는 SQL 문을 작성해주세요.물고기의 ID 컬럼명은 ID, 이름 컬럼명은 FISH_NAME, 길이 컬럼명은 LENGTH로 해주세요.결과는 물고기의 ID에 대해 오름차순 정렬해주세요.단, 물고기 종류별 가장 큰 물고기는 1마리만 있으며 10cm 이하의 물고기가 가장 큰 경우는 없습니다. 코딩테스트 연습 - 물고기 종류 별 대어 찾기 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr - 키포인트WHERE 절 안에 서브쿼리 사용WITH 절 사용RANK() 순위함수 사용 > PARTITION BY로 종류별로, ORD..
- 문제대장균 개체의 크기를 내름차순으로 정렬했을 때 상위 0% ~ 25% 를 'CRITICAL', 26% ~ 50% 를 'HIGH', 51% ~ 75% 를 'MEDIUM', 76% ~ 100% 를 'LOW' 라고 분류합니다. 대장균 개체의 ID(ID) 와 분류된 이름(COLONY_NAME)을 출력하는 SQL 문을 작성해주세요. 이때 결과는 개체의 ID 에 대해 오름차순 정렬해주세요 . 단, 총 데이터의 수는 4의 배수이며 같은 사이즈의 대장균 개체가 서로 다른 이름으로 분류되는 경우는 없습니다. 코딩테스트 연습 - 대장균의 크기에 따라 분류하기 2 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programme..
- 서브쿼리에는 별칭을 무조건 지정해야 함! - 구간 나누기 : NTILE()NTITLE(n) OVER (ORDER BY ____ DESC/ASC (NULLS LAST)) - WITH 절임시 테이블로 만들어 가독성 높이는 쿼리WITH 이름 AS (SELECT~)밑에서 참조할 때 이름 사용 - IFNULLIFNULL(조건, 0) : NULL이면 0으로 치환 - GROUP BY 오류조인시 SELECT절에 있는게 GROUP BY에 포함되지 않으면 오류가 남집계함수로 감싸지면 안해도 가능 - IN VS EXISTSEXISTS 뒤에는 서브쿼리만 올 수 있음(서브쿼리의 SELECT절에는 무엇이 오든 상관이 없다 : 주로 SELECT 1 ~ 사용)조회되는 데이터가 많아질수록 EXISTS 성능이 더 좋다* 서브쿼리에..
- 문제PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가격대 정보는 각 구간의 최소금액(10,000원 이상 ~ 20,000 미만인 구간인 경우 10,000)으로 표시해주세요. 결과는 가격대를 기준으로 오름차순 정렬해주세요. 코딩테스트 연습 - 가격대 별 상품 개수 구하기 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr - 키포인트 CASE WHEN만 생각하다가 갈피를 못잡음 TRUNCATE(~,1) : 소수점 1의 자리에서 버림TRUNCATE(~,-..
- 문제 코딩테스트 연습 - 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr - 키포인트여러 항목 중 하나가 포함되는지 찾는 것 : IN 이 아닌 LIKE '%~%' 사용REGEXP 새로 알기 - 코드1. LIKE 사용SELECT CAR_TYPE, COUNT(CAR_ID) AS CARSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%통풍시트%'OR OPTIONS LIKE '%열선시트%'OR OPTIONS LIKE '%가죽시트%'GROUP BY CAR_TYPEORDER BY CAR_TYPE AS..
- 문제아이템의 희귀도가 'RARE'인 아이템들의 모든 다음 업그레이드 아이템의 아이템 ID(ITEM_ID), 아이템 명(ITEM_NAME), 아이템의 희귀도(RARITY)를 출력하는 SQL 문을 작성해 주세요. 이때 결과는 아이템 ID를 기준으로 내림차순 정렬주세요. 코딩테스트 연습 - 업그레이드 된 아이템 구하기 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr - 키포인트WHERE 절 설정 헤맴WHERE 절에 SELECT 절 삽입시키는 과정 이해하기 - 코드SELECT I.ITEM_ID, I.ITEM_NAME, I.RARITYFROM ITEM_INFO I JOIN ITEM_TR..
- 문제각 분기(QUARTER)별 분화된 대장균의 개체의 총 수(ECOLI_COUNT)를 출력하는 SQL 문을 작성해주세요. 이때 각 분기에는 'Q' 를 붙이고 분기에 대해 오름차순으로 정렬해주세요. 대장균 개체가 분화되지 않은 분기는 없습니다. - 코딩테스트 연습 - 분기별 분화된 대장균의 개체 수 구하기 | 프로그래머스 스쿨 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr - 키포인트분기별 구할 때 CONCAT으로 1+Q 형식 만들기DATE 타입의 QUARTER() 사용하면 쿼터 바로 구할 수 있음 - 코드 1. QUARTER 사용SELECT CONCAT(QUARTER(DIFFERENTIAT..
- 문제부모의 형질을 모두 보유한 대장균의 ID(ID), 대장균의 형질(GENOTYPE), 부모 대장균의 형질(PARENT_GENOTYPE)을 출력하는 SQL 문을 작성해주세요. 이때 결과는 ID에 대해 오름차순 정렬해주세요. - 코딩테스트 연습 - 부모의 형질을 모두 가지는 대장균 찾기 | 프로그래머스 스쿨 코딩테스트 연습 - 부모의 형질을 모두 가지는 대장균 찾기대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다. 다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다.school.programmers.co.kr - 키포인트부모, 자식 GENOTYPE 2개로 처리 - 코드SELECT A.ID, A.GENOTYPE..
- 문제CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. - 코딩테스트 연습 - 자동차 대여 기록에서 장기/단기 대여 구분하기 | 프로그래머스 스쿨 - 키포인트DATE_FORMAT으로 날짜 변환DATEDIFF로 날짜 차이 계산 계산에 +1 해서 연체 날짜 고려 (당일 대출 당일 반납도 1일 대여)START_DATE 필터링 BETWEEN ~ AND 써도 가능 - 코드SELECT HISTORY_ID, ..