반응형

SQL/프로그래머스 63

[프로그래머스] 오프라인/온라인 판매 데이터 통합하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ UNION이라는 키워드를 통해 여러 개의 SELECT문의 결과를 단일 결과 세트 표현할 수 있습니다. 밑에 첨부된 사이트에서 JOIN과 UNION에 대해서, 그 차이점에 대해서 공부하실 수 있습니다 ! ★ 먼저 UNION은 합치려고 하는 두 테이블의 SELECT문의 칼럼 수가 일치해야 합니다. OFFLINE_SALE 테이블은 USER_ID라는 칼럼이 존재하지 않기 때문에 'NU..

[프로그래머스] 우유와 요거트가 담긴 장바구니 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/62284 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ WHERE절에서 서브쿼리를 사용하여 NAME이 MILK도 가지고 있으면서 YOGURT도 가지고 있는 CART_ID만 추출해줍니다 !

[프로그래머스] 서울에 위치한 식당 목록 출력하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/131118 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ GROUP BY절에서 REST_ID를 기준으로 그룹핑을 진행한 뒤, HAVING에서 주소가 '서울'인 데이터들만 추출합니다. ★ 그 후 SELECT문에서 평균 평점을 구해주는데, ROUND 함수를 통해 반올림을 진행하여주고, 두번째 인자로 2를 입력하여, 소수점 3번째 자리에서 반올림을 해줬습니다 !

[프로그래머스] 보호소에서 중성화한 동물 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/59045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ ANIMAL_ID가 동일한 데이터를 기준으로 두 개의 테이블을 JOIN 했을 때, 보호소로 들어올 때의 중성화 여부와 나갈 때의 중성화 여부가 다른 동물들만 추출하여 출력합니다.

[프로그래머스] 5월 식품들의 총매출 조회하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/131117 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ 생산일자가 2022-05인 식품들만 추출하여 PRODUCT_ID별로 그룹핑을 진행합니다. ★ 그룹핑을 진행한 상태에서 식품의 가격과 양(AMOUNT)를 곱한 값의 합을 TOTAL_SALES라는 칼럼명으로 출력해줍니다 ! ★ 총매출액을 기준으로 내림차순, 식품 ID를 기준으로 오름차순 정렬

[프로그래머스] 어린 동물 찾기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/59037 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ WHERE절에서 서브쿼리를 작성해줍니다. 서브쿼리에서는 INTAKE_CONDITION이 AGED인 것들만 추출하는데, NOT IN 절을 사용하여 AGED가 아닌 것들만 최종적으로 추출한 뒤 출력해줍니다 !

[프로그래머스] 루시와 엘라 찾기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/59046 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ WHERE절에서 NAME이 문제에서 주어진 이름들과 같다면 그 이름을 추출하여 출력해줍니다 !

[프로그래머스] 특정 기간동안 대여가능한 자동차들의 대여비용 구하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/157339 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ 30일 동안의 대여금액을 FEE라는 칼럼명으로 구해줘야 합니다. 일일 요금인 DAILY_FEE에 30을 곱한 뒤, 할인율을 적용해야 하기 때문에 '(100-DISCOUNT_RATE)/100'을 통해 할인율이 7%일때 0.93을 곱해줄 수 있도록 합니다. 또한 출력 예시와 동일한 포맷으로 출력하기 위해 ROUND 함수를 사용해 정수부분만 출력해줍니다 ! ★ 서브쿼리를 사용해 문제..

[프로그래머스] 오랜 기간 보호한 동물(1) (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ 보호소에 들어온 datetime은 있지만, 입양을 나간 datetime은 없는 값들을 출력해야 하기 때문에 left outer join을 통해 왼쪽 테이블을 기준으로 오른쪽 테이블을 join 해줍니다 ! ★ join하는 과정에서 left join, left outer join 둘 중 아무거나 사용하셔도 결과값은 똑같습니다 ! ex) from 테이블(왼쪽 테이블) left join..

[프로그래머스] 중복 제거하기 (Mysql)

https://school.programmers.co.kr/learn/courses/30/lessons/59408 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 풀이 ★ 칼럼의 범주 안에서 중복 없이 데이터를 출력하고 싶다면 DISTINCT를 사용하면 됩니다. EX) SELECT DISTINCT 칼럼명 FROM 테이블 ... ★ 문제에서는 동물의 이름 갯수를 출력하라고 했으니 COUNT 함수를 사용해서 이름 갯수를 출력하는데, 이때 중복을 제거하기 위해 DISTINCT를 사용하였습니다. 또한 이름이 NULL 값인 데이터는 제외해야 하니, WHER..

반응형