전체 글 138

프로그래머스SQL_조건에 맞는 사원 정보 조회하기(LIMIT)

■ 사용 문법 GROUP BY, LIMIT  ■ 사용 방법1) EMP_NO로 GROUP BY를 해준 후 2022년도 상반기, 하반기의 점수를 합해준다. 2) 합해준 것과 EMPLOYEE 테이블을 조인시켜준다. 3) 높은 점수로 정렬을 한 후 LIMIT을 이용해 제일 상위에 있는 행을 추출한다. ■ 코드SELECT M.SCORE, M.EMP_NO, E.EMP_NAME, E.POSITION, E.EMAILFROM HR_EMPLOYEES AS EJOIN(SELECT EMP_NO, SUM(SCORE) AS SCOREFROM HR_GRADE WHERE YEAR = 2022GROUP BY EMP_NO) AS MON E.EMP_NO = M.EMP_NOORDER BY M.SCORE DESCLIMIT 1

개발/SQL 2024.06.19

프로그래머스SQL_입양 시각 구하기(2)(WITH RECURSIVE)

■ 사용 문법 WITH RECURSIVE  ■ 사용 방법아무 생각없이 HOUR로 그룹핑을 해주고 COUNT를 제출했는데, 틀렸다. 문제를 다시보니 0건 이더라도 0시부터 23시까지 다 나와야 한다. 그래서 재귀를 이용해서 풀었다. 1) WITH RECURSIVE 로 임시 테이블 만들기 WITH RECURSIVE cte_name AS ( -- Anchor member initial_query UNION ALL -- Recursive member recursive_query)SELECT * FROM cte_name;#cte_name: CTE(Common Table Expression)의 이름입니다.#initial_query: 재귀가 시작되는 기본 쿼리(앵커 멤버)입니다.#recur..

개발/SQL 2024.06.17

프로그래머스SQL_년, 월, 성별 별 상품 구매 회원 수 구하기

■ 사용 문법 JOIN, GROUP BY, DISTINCT  ■ 사용 방법1. 두 테이블을 조인한다. 2. SALES_DATE에서 년,월을 뽑고, GENDER으로 GROUP BY 해준다. 3. 연, 월, 성별 기준으로 USER_ID의 COUNT를 구한다. 4. 구매한 회원 수이므로 회원이 구별되도록 해줘야 한다. DISTINCT 를 이용해서 COUNT를 세준다.  ■ 코드-- 코드를 입력하세요SELECT YEAR(S.SALES_DATE) AS YEAR, MONTH(S.SALES_DATE) AS MONTH, U.GENDER, COUNT(DISTINCT U.USER_ID) AS USERSFROM USER_INFO AS UJOIN ONLINE_SALE AS SON U.USER_ID = S.USER_IDWHER..

개발/SQL 2024.06.14

프로그래머스SQL_저자 별 카테고리 별 매출액 집계하기

■ 사용 문법    GROUP BY, JOIN, 집계함수 SUM    ■ 사용 방법    1. 우선 세 개의 테이블을 조인한다.2. 조건에 맞게 필터링 해준다.(2022년 1월)3. 문제에 보면 저자별, 카테고리 별 매출액이라 했으므로 AUTHOR_ID, CATEGORY 로 GROUP BY 해준다. 4. 집계함수 SUM으로 BOOK의 PRICE와 BOOK_SALES의 SALES를 곱해준 다음 더해준다. (SUM(BOOK.PRICE * BOOK_SALES.SALES)5. 정렬 후 마무리  ■ 코드    SELECT A.AUTHOR_ID, A.AUTHOR_NAME,B.CATEGORY , SUM(B.PRICE * S.SALES) AS TOTAL_SALESFROM BOOK AS BJOIN AUTHOR AS A..

개발/SQL 2024.06.13

프로그래머스SQL_식품분류별 가장 비싼 식품의 정보 조회하기

■ 사용 문법    GROUP BY, JOIN( GROUP BY 절은 그룹화 기준 컬럼(CATEGORY)과 집계 함수의 결과(MAX(PRICE))만 반환한다.)   ■ 사용 방법    1. GROUP BY 절은 그룹화 기준 컬럼과 집계 함수의 결과만 반환하다. 따라서, 아래와 같은 코드 실행 시 PRODUCT_NAME이 매칭되지 않은 값으로 나온다. SELECT CATEGORY, MAX(PRICE) as MAX_PRICE, PRODUCT_NAMEFROM FOOD_PRODUCT WHERE CATEGORY = "과자" OR CATEGORY = "국" OR CATEGORY = "김치" OR CATEGORY = "식용유"GROUP BY CATEGORYORDER BY MAX_PRICE DESC2. 이를 해결해주기..

개발/SQL 2024.06.07

useEffect

useEffect는 React의 함수형 컴포넌트에서 side Effect를 수행하기 위해 사용되는 훅이다. 기본적으로 컴포넌트의 첫 번째 렌더링 이후에 실행되며, 그 이후의 모든 업데이트에서 수행된다. 두번째 인수인 의존성 배열에 값을 넣으면 이 값이 변경될 때만 재실행된다.  의존성 배열에 객체를 넣으면 객체의 값이 똑같더라도 계속 재실행된다. 객체의 참조값을 추적하기 때문이다. 따라서 매번 새로운 객체를 생성하므로 useEffect는 매번 실행된다. 이를 해결하기 위해서는 객체의 특정 속성을 의존성 배열을 넣는다. import React, { useState, useEffect } from 'react';function ExampleComponent() { const [data, setData] =..

개발/STUDY 2024.05.26

React 파일 구조

React는 컴포넌트로 이루어져 있기 때문에, 개인적으로는 파일 구조도 중요하다고 생각을 했다. 정리를 해놓고 만들지 않으면 프로젝트 중반 이후로 엄청 꼬일 수도 있다. 그래서 나는 기본적인 파일 구조를 컴포넌트/페이지로 분리하였다.  그리고 그 외 자주 쓰는 함수 들은 utils에 그리고 페이지 스타일은 styles 폴더를 따로 만들어주었다. 이렇게 만들어줌으로써, 페이지 단위로 이슈 확인이나 개발 진척도를 확인하기가 좋은 것 같다.

개발/STUDY 2024.05.25