문제다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIO
문제다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK) 테이블입니다.BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK
문제다음은 중고거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고거래 게시판 첨부파일 정보를 담은 USED_GOODS_REPLY 테이블입니다. USED_GOODS_BOARD 테이블은 다음과 같으며 BOARD_ID, WRITER_ID, TITLE, CO
문제(https://school.programmers.co.kr/learn/courses/30/lessons/131120다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 ME
문제다음은 종합병원에 속한 의사 정보를 담은DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나
문제문제 설명다음은 아이스크림 가게의 상반기 주문 정보를 담은 FIRST_HALF 테이블과 아이스크림 성분에 대한 정보를 담은 ICECREAM_INFO 테이블입니다. FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_OR
문제FIRST_HALF 테이블은 아이스크림 가게의 상반기 주문 정보를 담은 테이블입니다.FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림
문제다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같으며 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다.FOOD_FACTO
문제다음은 식당의 정보를 담은 REST_INFO 테이블과 식당의 리뷰 정보를 담은 REST_REVIEW 테이블입니다. REST_INFO 테이블은 다음과 같으며 REST_ID, REST_NAME, FOOD_TYPE, VIEWS, FAVORITES, PARKING_LOT,
문제다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE
문제ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE
문제다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID,
문제 설명ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INT
문제ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE
문제ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE
문제다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가
MAX() 함수를 활용하여 가격의 최댓값을 구한다.
문제FISH_TYPE을 GROUP BY 하여 각 물고기 타입마다 MAX(LENGTH)를 구하는 서브쿼리를 만든다.이를 메인 쿼리에서 조건절로 넣는다.주 쿼리:SELECT FI.ID, FNI.FISH_NAME, FI.LENGTH: FISH_INFO 테이블에서 ID, LE
문제MAX() 함수로 최댓값을 구한다.
문제COUNT() 함수를 사용해서 갯수를 구한다.
문제MIN() 함수를 사용해서 최솟값을 구한다.
문제FROM 절에 GROUP BY와 IS NOT NULL 조건이 포함된 서브 쿼리를 둔다.SELECT 절에 COUNT() 함수를 사용하여 개수를 구한다.DISTINCT 키워드를 사용하여 고유한 이름의 개수를 직접적으로 계산한고, COUNT() 진행한다.DISTINCT
문제FIRST_HALF 테이블과 JULY를 UNION하는 서브쿼리를 하나 만든다.위 서브쿼리를 FROM 절에 넣고, FLAVOR로 GROUP BY 하여 TOTAL_ORDER의 총합을 구해주는 서브쿼리를 만든다.위 서브쿼리를 다시 주 쿼리의 FROM 절에 넣고, 내림차순
문제FOOD_ORDER 테이블에서 2022-05에 생산된 식품들만 고르기 위해 WHERE조건절에 추가한다.PRODUCT_ID로 GROUP BY 한 뒤, AMOUNT의 총합을 구한다.FOOD_PRODUCT 테이블과 JOIN을 진행한다.SELECT 절에 PRICE와 TOT
문제이 문제를 해결하는데 굉장히 시간이 오래 걸렸다.. 😭CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블을 활용해 2022-11-1 부터 2022-11-31까지 만족하는 CAR_ID를 추출하는 서브쿼리를 작성한다.메인쿼리에는 CAR_RENTAL_C
문제BOOK 테이블과 AUTHOR 테이블 단순 INNER JOIN을 진행한다.
문제이 문제는 가장 많이 리뷰를 쓴 MEMBER_ID를 REST_REVIEW 테이블에서 찾는 것이 관건이였습니다.REST_REVIEW 테이블에서 MEMBER_ID로 GROUP BY를 진행하고 ORDER BY COUNT(\*) DESC LIMIT 1로 가장 많이 리뷰를
문제LEFT OUTER JOIN을 통해 JOIN 연산 진행 후, ANIMAL_INS 테이블의 특정 컬럼인 ANIMAL_TYPE이 NULL인 조건을 걸어준다.NOT EXISTS (서브쿼리) 형식으로 존재 유무룰 판단한다.SQL에서 SELECT 1을 사용하는 것은 서브쿼리
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges단순 JOIN만 하면 되는 문제로 별 어렵지 않은 문제 👍INNER JOIN을 통해 JOIN 연산을 진행한다.
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesNOT EXISTS 구문만 잘 작성하면 어렵지 않은 문제 😃NOT EXISTS 구문을 통해 ANIMAL_INS 테이블에는 있지
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesINNER JOIN을 진행 후, WHERE 절에 SEX_UPON_INTAKE와 SEX_UPON_OUTCOME가 다른 값만 필터링
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges이 문제는 DISTINCT 키워드를 사용해 중복을 제거하기, WITH 절을 사용하여 쿼리 재사용성 늘리는 것이 관건인 문제였습니
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges이 문제는 두가지를 주의해야합니다. ⚠️1\. 비트 연산자인 &를 사용하여 SKILLCODES 테이블의 스킬을 보유한 개발자를
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges이번 문제는 다음과 같은 두가지 방법으로 풀어보았습니다 👑NOT EXISTS를 활용한 풀이 ⭐️ITEM_TREE 테이블과 IT
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges간단하게 IFNULL을 사용해서 해결할 수 있는 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges간단하게 IS NULL을 사용해 NULL인지 체크만 하면 해결할 수 있는 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges간단하게 IFNULL을 사용해 NULL을 대체하고, LIKE 연산으로 "경기도"로 시작하는 주소만 체크하면 해결할 수 있는 문
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges간단하게 IS NULL을 사용해 NULL을 체크하는 조건으로 해결할 수 있는 문제 🍀
문제출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesINNER JOIN을 사용해 BOOK 테이블과 BOOK_SALES 테이블을 조인해주고, GROUP BY로 CATEGORY 기준 그
SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS RECORDS: 월별로, 차량 ID별로 대여 횟수를 계산한다. FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY: CAR_RENTAL_COMPANY_R
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesIS NOT NULL을 조건에 활용하면 쉽게 해결할 수 있는 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges이번 문제는 조인 연산이 많이 사용되어 차근차근 프로세스를 세워 풀어나갔다 🍀2022년 1월의 도서 별 총 매출액을 구하기 위
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesCATEGORY 기준 GROUP BY를 진행하여 MAX_PRICE를 구하고 이를 원본 테이블과 CATEGORY를 기준으로INNE
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges이전 포스팅한 문제와 동일하게 풀이했다 🍀1\. FOOD_TYPE 기준 그룹화 후, MAX_FAVORITES을 구한다.2\.
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesCAR_ID 기준 GROUP BY 진행 후, MAX()를 활용해 모든 START_DATE와 END_DATE에 2022-10-16
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges두 테이블을 INNER JOIN 연산 후, GROUP BY만 잘 사용하면 어렵지 않은 문제 🍀
문제 문제 설명 다음은 종합병원의 진료 예약정보를 담은 APPOINTMENT 테이블 입니다. APPOINTMENT 테이블은 다음과 같으며 APNTYMD, APNTNO, PTNO, MCDPCD, MDDRID, APNTCNCLYN, APNTCNCL_YMD는 각각 진료
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges아이디 별 STATUS가 DONE 상태인 PRICE들을 합산해 700,000 이상인 값들만 추리는 서브 쿼리를 작성한다.USED
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges단순히 ANIMAL_TYPE 기준 GROUP BY 진행 후, COUNT(\*) 해주면 해결되는 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesCOUNT(\*), COUNT(column)의 차이를 알아야 하는 문제 ⭐️COUNT(\*):모든 행을 계산합니다. 즉, 테이블
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesORDER BY 조건을 NAME ASC, DATETIME DESC 두개 주면 해결되는 문제 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesHOUR(DATETIME)로 시간을 구하고 이것을 GROUP BY 하면 되는 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges년도 별, 월 별, 성별 별이므로 3가지를 GROUP BY 해준다.INNER JOIN 연산을 통해 USER_INFO 테이블과 O
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges시간대를 0~23까지 생성하는 임시 테이블을 생성한다.RECURSIVE 키워드와 UNION ALL 키워드를 활용해 0~23시까지
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges1.TRUNCATE() 함수를 활용해 10000 단위로 자른다.2\. 해당 PRICER_GROUP을 기준으로 GROUP BY,
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesDATETIME의 최댓값을 구해야 하므로, DATETIME 기준 오름차순 정렬 후 LIMIT 1 연산을 한다.RANK() 함수는
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesBETWEEN을 사용해 20세 이상, 29세 이하 조건을 만들고 YEAR() 함수로 2021년에 가입한 사람만 추린다.COUNT
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesWHERE 절에 OR 조건을 사용한다.WHERE 절에 IN 조건을 사용한다.가독성 면에서 IN이 더 나은 것 같음 🍀 1번 풀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges비트 연산자로 &를 사용하면 해결할 수 있는 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesHR_GRADE 테이블에서 EMP_NO 기준으로 GROUP BY를 진행한 후, SCORE 컬럼의 SUM을 구한다.HR_EMPLO
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges복잡한 문제이므로 순차적으로 SQL문을 작성해보도록 하겠습니다.WITH 절을 사용해 CTE를 만든다. 이때, DUAL을 사용해
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesFISH_INFO 테이블과 FISH_NAME_INFO 테이블을 INNER JOIN 한다.WHERE 절에서는 IN을 사용하여 물고
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesWHERE 절에 LENGTH가 NULL인 것을 필터링 한다.COUNT() 함수를 통해 갯수를 센다.
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesWHERE 절에 IS NULL을 사용하여 필터링 한다.COUNT() 함수를 통해 갯수를 센다.
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesLENGTH 기준 내림차순으로 정렬하고,ID 기준 오름차순으로 정렬한 후, LIMIT 10으로 10개의 데이터만 뽑으면 해결되는
문제 문제 설명 HRDEPARTMENT 테이블은 회사의 부서 정보를 담은 테이블입니다. HRDEPARTMENT 테이블의 구조는 다음과 같으며 DEPTID, DEPTNAMEKR, DEPTNAME_EN, LOCATION은 각각 부서 ID, 국문 부서명, 영문 부서명, 부서 위치를 의미합니다. Column name Type Nullable DEPT_ID ...
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges자식의 수를 구하는데, 자식이 없다면 자식의 수를 0으로 출력해야 하기 때문에 LEFT OUTER JOIN을 사용하여 ECOLI
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesHR_EMPLOYEES 테이블과 HR_DEPARTMENT 테이블을 INNER JOIN 한다.DEPT_ID, DEPT_NAME_E
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesLENGTH가 NULL인 값은 IFNULL을 활용해 10으로 변경시켜준다.AVG() 함수를 통해 평균을 구해준다.ROUND()
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges문제를 잘못읽어 2019년 10, 2020년 100, 2021년 101을 고정하고, 단순하게 JOIN 없이 문제를 해결할 수 있
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges조건에 따른 총합을 구하는 문제로 SUM() 함수를 사용하면 간단하게 해결되는 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges최댓값을 구하는 문제로 MAX() 함수를 사용하면 간단하게 해결되는 문제 🍀단, CONCAT() 함수를 알아야 해결 할 수 있
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesCASE - WHEN - THEN 구문을 사용하여 조건별로 처리하는 것이 핵심인 문제 🍀
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges개인적으로 비트를 사용해서 해결해야 하는 문제이기 때문에, Lv.1 문제라고는 생각되지 않았습니다 🧐문제를 순차적으로 해결해
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesGROUP BY 진행 후,SUM(), AVG()로 총합과 평균을 구해준다.CONCAT() 함수로 km 붙여준다.ORDER BY
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesFISH_INFO 테이블과FISH_NAME_INFO 테이블을 INNER JOIN 하여 FISH_NAME 컬럼을 알아 온다.FIS
문제 문제 설명 낚시앱에서 사용하는 FISHINFO 테이블은 잡은 물고기들의 정보를 담고 있습니다. FISHINFO 테이블의 구조는 다음과 같으며 ID, FISH_TYPE, LENGTH, TIME은 각각 잡은 물고기의 ID, 물고기의 종류(숫자), 잡은 물고기의 길이(cm), 물고기를 잡은 날짜를 나타냅니다. Column name Type Nulla...
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges처음 접근 (60점으로 2문제 실패..)평균 길이가 33 이상인 FISH_TYPE만 고르기 위해 서브쿼리를 작성하고, INNER
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesTIMESTAMPDIFF()를 사용해서 날짜 차를 구한다. 이때, 날짜 차는 END_DATE-START_DATE+1이기 때문에,
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesVIEWS 컬럼 중 최댓값을 하나 찾아야 하므로, 서브쿼리를 만든다.CONCAT() 함수를 사용해 문자열을 붙여준다.조건에 맞게
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challengesSELECT 절에 필요한 컬럼을 적는다. 특히, "판매중", "예약중", "거래완료"는 CASE-WHEN-THEN 구문을 사용하
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges💡 LIKE 연산을 사용하여 '%네비게이션%을 하면, 네비게이션이 포함된 options만 추릴 수 있습니다.
문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges💡 LIKE 연산을 사용하여 '%네비게이션%을 하면, 네비게이션이 포함된 options만 추릴 수 있습니다.
네 쿼리는 정답 로직이 정확하고(비트 포함 관계 체크) 읽기도 괜찮아요. 다만 LEFT JOIN + WHERE ED1.PARENT_ID IS NOT NULL 조합은 결과적으로 INNER JOIN과 같아져서, 의도를 더 드러내려면 JOIN(INNER)로 바꾸는 게 깔끔합
https://school.programmers.co.kr/learn/courses/30/lessons/301649대장균 개체의 크기를 기준으로 분류를 나누는 문제입니다. 군집의 크기가 큰 순서대로 상위 25%는 'CRITICAL', 26%~50%는 'HIGH
https://school.programmers.co.kr/learn/courses/30/lessons/301650대장균은 분화하며, 분화를 시작한 개체를 부모, 분화되어 나온 개체를 자식이라고 한다.ECOLI_DATA 테이블에는 대장균 개체의 ID와 부모 I