목록개발 (38)
Yeongjun's Blog
프로그래머스 코딩테스트 SQL > SELECT문제설명Table: FISH_INFOColumnID: 아이디FISH_TYPE: 물고기의 종류TIME: 물고기를 잡은 날짜LENGTH: 잡은 물고기의 길이FISH_INFO 테이블에서 가장 큰 물고기 10마리의 ID와 길이를 출력하는 SQL 문을 작성해주세요. 결과는 길이를 기준으로 내림차순 정렬길이가 같다면 물고기의 ID에 대해 오름차순 정렬단, 가장 큰 물고기 10마리 중 길이가 10cm 이하인 경우는 없다.문제해결길이를 기준으로 내림차순 → LENGTH DESC길이가 같다면 물고기 ID에 대해 오름차순 → ID ASC가장 큰 물고기 10마리 → LIMIT 10SELECT ID, LENGTHFROM FISH_INFOORDER BY LENGTH DESC, ID ..
프로그래머스 코딩테스트 SQL > IS NULL문제설명Table: FISH_INFOColumnID: 아이디FISH_TYPE: 물고기의 종류TIME: 물고기를 잡은 날짜LENGTH: 잡은 물고기의 길이잡은 물고기의 평균 길이를 출력하는 SQL문을 작성 평균 길이를 나타내는 컬럼 명은 AVERAGE_LENGTH 평균 길이는 소수점 3째자리에서 반올림하며, 10cm 이하의 물고기들은 10cm 로 취급하여 평균 길이를 구하기문제해결ROUND: ROUND 함수는 특정 소수점을 반올림하고 나머지를 버리는 함수AVG: 평균 구하기IFNULL: Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수SELECT ROUND(AVG(IFNULL(LENGTH, 10)), 2) as AVERAGE_..
프로그래머스 코딩테스트 SQL > SELECT문제설명Table: CAR_RENTAL_COMPANY_RENTAL_HISTORYColumnHISTORY_ID: 자동차 대여 기록 idCAR_ID: 자동차 idSTART_DATE: 대여 시작일END_DATE: 대여 종료일CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성 결과는 대여 기록 ID를 기준으로 내림차순 정렬문제해결2022년 9월에 속하는 대여 기록WHERE YEAR(START_DATE) = 2022 AND MON..
프로그래머스 코딩테스트 SQL > SELECT문제설명Table: DEVELOPER_INFOSColumnID: 아이디FIRST_NAME: 성LAST_NAME: 이름EMAIL: 이메일SKILL_1: 스킬 1SKILL_2: 스킬 2SKILL_3: 스킬 3DEVELOPER_INFOS 테이블에서 Python 스킬을 가진 개발자의 정보를 조회, Python 스킬을 가진 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성결과는 ID를 기준으로 오름차순 정렬문제해결IN: 조회하고자 하는 데이터 값이 여러 개일 때 사용SKILL_1,2,3에서 Python 스킬을 가진 개발자 찾기WHERE 'Python' IN (SKILL_1,SKILL_2,SKILL_3)ID를 기준으로 오름차순 정렬 → ORDER BY ID..
프로그래머스 코딩테스트 SQL > String, Date문제설명Table: FISH_INFOColumnID: 아이디FISH_TYPE: 물고기의 종류TIME: 물고기를 잡은 날짜LENGTH: 잡은 물고기의 길이FISH_INFO 테이블에서 2021년도에 잡은 물고기 수를 출력하는 SQL 문을 작성 이 때 컬럼명은 'FISH_COUNT' 로 지정단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없다.문제해결2021년도에 잡은 물고기 찾기 → WHERE TIME LIKE “%2021%”물고기 수 출력, FISH_COUNT로 컬럼명 지정 → COUNT(TIME) as FISH_COUNTSELECT COUNT(TIME) as FISH_COU..
프로그래머스 코딩테스트 SQL > SELECT문제설명Table: FISH_INFOColumnID: 아이디FISH_TYPE: 물고기의 종류TIME: 물고기를 잡은 날짜LENGTH: 잡은 물고기의 길이잡은 물고기 중 길이가 10cm 이하인 물고기의 수를 출력하는 SQL 문을 작성 물고기의 수를 나타내는 컬럼 명은 FISH_COUNT단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없다.문제해결COUNT(컬럼명)의 경우 NULL을 제외 시키기에 (*)로 전체를 카운트WHERE LENGTH IS NULL을 사용해 length가 Null인것만 카운트SELECT COUNT(*) as FISH_COUNTFROM FISH_INFOWHERE LE..
프로그래머스 코딩테스트 SQL > SUM, MAX, MIN문제설명Table: ANIMAL_INSColumnANIMAL_ID: 아이디ANIMAL_TYPE: 생물 종류DATETIME: 보호 시작일INTAKE_CONDITION: 보호 시작 시 상태NAME: 이름SEX_UPON_INTAKE: 성별 및 중성화 여부가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성문제해결가장 최근에 들어온 동물이 언제 들어왔는지 조회 → SELECT MAX(DATETIME) as timeSELECT MAX(DATETIME) as timeFROM ANIMAL_INS
프로그래머스 코딩테스트 SQL > String, Date문제설명Table: CAR_RENTAL_COMPANY_CARColumnCAR_ID: 자동차의 IDCAR_TYPE: 자동차 종류DAILY_FEE: 일일 대여 요금(원)OPTIONS: 자동차 옵션 리스트CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성결과는 자동차 ID를 기준으로 내림차순 정렬문제해결네비게이션 옵션이 포함된 자동차 리스트 → LIKE “%네비게이션%”자동차 ID를 기준으로 내림차순 정렬 → ORDER BY CAR_ID DESCSELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONSFROM CAR_RENTAL_COMPANY_CARWHERE OPTI..
프로그래머스 코딩테스트 SQL > SUM, MAX, MIN문제설명Table: FISH_INFOColumnID: 물고기의 IDFISH_TYPE: 물고기의 종류LENGTH: 잡은 물고기의 길이FISH_INFO 테이블에서 잡은 물고기 중 가장 큰 물고기의 길이를 'cm' 를 붙여 출력하는 SQL 문을 작성이 때 컬럼명은 'MAX_LENGTH' 로 지정문제해결CONCAT 함수는 둘 이상의 문자열을 입력한 순서대로 합쳐서 반환해주는 함수가장 큰 물고기의 길이 → MAX(LENGTH)cm를 붙여 출력 → CONCAT(MAX(LENGTH),"cm")SELECT CONCAT(MAX(LENGTH),"cm") as MAX_LENGTHfrom FISH_INFO
프로그래머스 코딩테스트 SQL > SELECT문제설명Table: FIRST_HALF, INGREDITENT_TYPEColumnFLAVOR: 맛TOTAL_ORDER: 총주문량INGREDIENT_TYPE: 아이스크림 주 성분상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요.문제해결JOIN을 사용해서 두 DB TABLE을 연결USING(FLAVOR)을 사용해서 두 테이블의 컬럼명이 같을 경우 조인 조건을 길게 적지 않고 간단하게 적을 수 있게한다.아이스크림 총 주문량이 3000보다 높은것 → WHERE TOTAL_ORDER>3000아이스크림의 주 성분이 과일인 아이스크림의 맛 → AND INGREDIEN..