본문 바로가기

IT To do and To was

22년 11월 16일_SQL 감 찾기 및 프로그래머스 0Lv 마스터

728x90
반응형

수요일[한주한주가 빠르다. 어제는 ㅅㅂ을 봤는데 아직 잘 모르겠다.]

 

1. SQL

2. algorithm

 

1> 

해당 컬럼에 일치하는 값을 찾을 땐

select * from 테이블명 where 컬럼명 = '값';

정렬할 땐

order by (asc, desc) asc 오름차순 (1,2,3,4,..) desc 내림차순(999,998,997)

중복행을 제거할 땐

select distinct 컬럼명 from 테이블명 

 

프로그래머스

 

오랜기간 보호한 동물(1)

SELECT INS.NAME, INS.DATETIME FROM ANIMAL_INS INS
LEFT OUTER JOIN ANIMAL_OUTS OUTS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE OUTS.ANIMAL_ID IS NULL
ORDER BY DATETIME ASC 
LIMIT 3;

5월 식품들의 총 매출 조회하기

-- 코드를 입력하세요
SELECT FO.PRODUCT_ID, FO.PRODUCT_NAME, SUM(ORD.AMOUNT)*(FO.PRICE) AS TOTAL_SALES FROM FOOD_PRODUCT FO
JOIN FOOD_ORDER ORD
ON FO.PRODUCT_ID = ORD.PRODUCT_ID
WHERE DATE_FORMAT(ORD.PRODUCE_DATE, "%Y-%m") ="2022-05"
GROUP BY PRODUCT_NAME
ORDER BY TOTAL_SALES DESC, FO.PRODUCT_ID ;

 

JOIN 中 없어진 기록 찾기

SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_INS INS
RIGHT JOIN ANIMAL_OUTS OUTS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NULL
ORDER BY OUTS.ANIMAL_ID

JOIN  후 날짜 비교

SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS
JOIN ANIMAL_OUTS OUTS
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
WHERE INS.DATETIME > OUTS.DATETIME
ORDER BY INS.DATETIME

주문량이 많은 아이스크림 조회하기

SELECT JU.FLAVOR FROM JULY JU
JOIN FIRST_HALF FI
ON FI.FLAVOR = JU.FLAVOR
GROUP BY JU.FLAVOR
ORDER BY (SUM(JU.TOTAL_ORDER) +SUM(FI.TOTAL_ORDER)) DESC
LIMIT 3;

그룹별 조건에 맞는 식당 목록 출력하기

-- 코드를 입력하세요
SELECT PRO.MEMBER_NAME, REV.REVIEW_TEXT, DATE_FORMAT(REV.REVIEW_DATE, "%Y-%m-%d") AS REVIEW_DATE FROM MEMBER_PROFILE PRO
JOIN REST_REVIEW REV 
ON REV.MEMBER_ID = PRO.MEMBER_ID
WHERE PRO.MEMBER_NAME = (SELECT PROF.MEMBER_NAME FROM MEMBER_PROFILE PROF
                         JOIN REST_REVIEW REST
                         ON REST.MEMBER_ID = PROF.MEMBER_ID
                         GROUP BY MEMBER_NAME
                         ORDER BY COUNT(MEMBER_NAME) DESC
                         LIMIT 1)
ORDER BY REV.REVIEW_DATE, REV.REVIEW_TEXT

이 문제는 내가 푼 방식이 제일 간단한 거같다.(뿌듯)

 

2>

0lv도 왜 이렇게 어려운거야..ㅜㅠㅠ 

 

369문제는

 

return order.count('3') + order.count('6') + order.count('9')
answer = 0
    for i in str(order):
        if i in ['3','6','9']:
            answer += 1
    return answer

이런식으로 풀면된다.

 

현재 0Lv를 풀 때 내가 알고있는 메소드가 현저히 낮아서

이것이를 보면서 풀어야할 거같다.

 

이것이에서

삼성에서 채택중인 웹사이트

를 하나 알게되었당

// yesterday wished to today list.

. 프로그래머스 문제풀기_열심히..풀긴 풀었다.ㅠ

. SQL 풀기(감 찾기)_감자바쓰

. opic 수업 찾고 듣기_ok

 

tomorrow wish list

. codeup 남은거 풀이

. 이것이 보기

. 도서관에서 딴짓하지 않기

. 병원가기

. 숭실수강신청

. 지망하는 회사 정하기

. https://school.programmers.co.kr/learn/courses/2/lessons/48

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

다보기

728x90
반응형