2024-10-18 TIL
오늘 배운 것
- 5주차까지의 모든 수업을 들었다. 마지막 배운 함수는 date를 어떻게 활용할까 할 때 쓰는 함수다.
date_format() : 요일 값을 나눠서 표기하게 도와주는 함수
퍼센트를 붙였을 때의 값들
알파벳 | 소문자 | 대문자 |
---|---|---|
Y | 뒷자리 2개만 나온다 | 4자리 모두 나온다 |
M | 숫자로 달을 표기한다 | 영어로 달을 표기한다 |
D | 숫자로 날짜를 표기한다 | 숫자 뒤에 TH를 붙여 표현한다 |
W | 요일을 숫자(0~6)로 표현한다 (일~토) | 요일을 영어로 표기한다 |
-
남은 시간 동안 프로그래머스에 들어가서 SQL 문제를 풀었다. 일단 레벨 4까지는 풀 수 있었는데 레벨 5의 멸종 위기의 대장균 찾기 문제 만큼은 풀지 못했다. [프로그래머스 문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/301651
이 문제를 풀기 위해선 계층 쿼리라는 것을 알아야 한다고 하던데 그게 뭔지 찾아봤으나 이해가 가지 않았다. -
걷기반 마지막 문제
- 모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요! – select orders.id, products.name from orders join products on orders.product_id = products.id;
-
총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요! – select p.id, (o.quantity * p.price) as total from orders o join products p on o.product_id = p.id order by (o.quantity * p.price) desc limit 1;
-
각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요! – select p.id, o.quantity from orders o join products p on o.product_id = p.id order by p.id;
-
2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요! – select p.name from orders o join products p on o.product_id = p.id where order_date > ‘2023-03-03’;
-
가장 많이 판매된 상품의 이름을 찾는 쿼리를 작성해주세요! – select p.name, sum(o.quantity) from orders o join products p on o.product_id = p.id group by p.name;
-
각 상품 ID별로 평균 주문 수량을 계산하는 쿼리를 작성해주세요! – select p.id, avg(o.quantity) from orders o join products p on o.product_id = p.id group by p.id;
-
판매되지 않은 상품의 ID와 이름을 찾는 쿼리를 작성해주세요! – select sol.pname from ( select p.name as pname, sum(o.quantity) as total from orders o join products p on o.product_id = p.id group by p.name ) sol where total = 0;
다음에 할 것
- 계층 쿼리가 무엇인지 해결해 봐야겠다.
- 걷기반과 달리기반 퀘스트 안 푼 문제 전부 풀어보도록 하자.