wooyn730 / Problem-Solving

백준&프로그래머스 풀이
0 stars 0 forks source link

MySQL 정복 #5

Closed wooyn730 closed 2 months ago

wooyn730 commented 2 months ago

프로그래머스 MySQL

wooyn730 commented 2 months ago

이전에 푼 문제들 (4/13 이외에는 모두 4/15)

wooyn730 commented 2 months ago

이전에 푼 문제들2 (4/16)


주의

동명 이름 개수 : group by name having count(name) > 1 a를 포함하는 이름: where name like '%a%' 중복 없는 이름 개수: count(distinct name)

wooyn730 commented 2 months ago

04/17

wooyn730 commented 2 months ago

04/18

조건에 맞는 회원수 구하기

내 코드

SELECT COUNT(*) FROM USER_INFO WHERE AGE >= 20 AND AGE <= 29 AND JOINED LIKE '2021%';

(정답이긴 함)

더 좋은 코드

SELECT count(USER_ID) as USERS FROM USER_INFO WHERE YEAR(JOINED) = '2021' and AGE BETWEEN 20 and 29

참고할 점 YEAR(컬럼명) = '연도' 컬럼명 BETWEEN 조건1 and 조건2

참고자료(DATE_FROMAT)

중성화 여부 파악하기

CASE WHEN/THEN ELSE END

참고 자료(조건문 정리)

wooyn730 commented 2 months ago

04/19

OPTIONS LIKE "%열선시트%" LIKE 키워드 까먹지 말기...

SELECT BOOK.CATEGORY, SUM(BOOK_SALES.SALES) AS TOTAL_SALES
    FROM BOOK JOIN BOOK_SALES ON BOOK.BOOK_ID = BOOK_SALES.BOOK_ID
    WHERE BOOK_SALES.SALES_DATE LIKE "2022-01%" GROUP BY BOOK.CATEGORY ORDER BY BOOK.CATEGORY ASC;

기억할 것

wooyn730 commented 2 months ago

4/20

1

SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') 이게 2000-03-21

2

SELECT I.NAME, I.DATETIME FROM ANIMAL_INS AS I LEFT JOIN ANIMAL_OUTS AS O ON I.ANIMAL_ID = O.ANIMAL_ID WHERE O.DATETIME IS NULL ORDER BY I.DATETIME ASC LIMIT 3;

그냥 JOIN이 아니라 LEFT JOIN을 썼어야 했음 참고(JOIN 완전 정리 (INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN))

3

곱한거의 합 SELECT SUM(PRICE * SALES_AMOUNT) AS SALES FROM PRODUCT 걍 SUM 안에 곱해주면 됨

4

코드의 앞 두자리를 가져온다? SELECT LEFT(PRODUCT_CODE, 2) LEFT는 처음 보지만.. 일단 ㅇㅋ


현재까지 푼 문제 108문제 중 38문제!

wooyn730 commented 2 months ago

04/21

wooyn730 commented 2 months ago

4/22


image image image

wooyn730 commented 2 months ago

4/23

wooyn730 commented 2 months ago

4/24

CASE WHEN THEN ELSE END

기억하기

wooyn730 commented 2 months ago

4/25

DATEDIFF(END_DATE, START_DATE)

image

wooyn730 commented 2 months ago

4/26

image

wooyn730 commented 2 months ago

정처기 봤으므로 이슈 클로즈

하지만 SQL 작성하는 건 안나왔다 하하