DataBase15 [SQL] GROUP BY 사용 시 주의점 [프로그래머스] 물고기 종류 별 대어 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/293261 ㅊ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 작성한 쿼리 에러명 sql_mode=only_full_group_by 문제의 요구사항은 물고기 종류별 가장 큰 물고기 정보를 출력하는 것인데, 아래 코드에서의 문제점은 GROUP BY 후 max() 함수를 사용한 결과 FISH_INFO 테이블의 id 컬럼이 특정되지 않는다는 점이다. 예를 들어, n.fish_name과 max(length) 컬.. 2024. 3. 23. [SQL 문제풀이] 저자 별 카테고리 별 매출액 집계하기 https://school.programmers.co.kr/learn/courses/30/lessons/144856#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이 문제에서 애를 먹었던 부분은 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하는 것이었다. 아래 코드 상에서 1번 라인의 SUM(s.SALES*b.PRICE) 부분이 그것이다. 처음에는 SUM(s.SALES)*b.PRICE 와 같이 코드를 작성했었는데 이 코드로는 오답처리가 되었다. SUM(s.SALES*b.PRICE) 는 되고, SUM(s.SALES.. 2023. 12. 20. [Database] Transaction (트랜잭션) Transaction 이란? 트랜잭션은 데이터 베이스 시스템에서 "더이상 쪼갤 수 없는 업무 처리의 최소 단위"이다. 예를 들어, A가 B에게 1,000원을 송금한 경우, 이 거래는 더 이상 쪼갤 수 없는 하나의 트랜잭션이 된다. 'A가 돈을 보낸 행위'와 'B가 돈을 받는 행위'는 별개로 분리될 수 없으며, 둘 중 하나라도 온전히 수행되지 않는다면 해당 거래는 성사되지 않는다. 트랜잭션 처리가 정상적으로 완료된 경우 Commit을 하고, 오류가 발생할 경우 원래 상태로 Rolback한다. 트랜잭션은 거래의 안전성을 확보하는 방법이다. Transaction의 조건(ACID) Atomicity(원자성) 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 전혀 반영되지 않든지 해야한다. Consistenct(일.. 2023. 3. 13. [프로그래머스] SELECT / 오프라인/온라인 판매 데이터 통합하기 풀이 본 문제의 주요 요구사항은 두 테이블(online_sale, offline_sale)을 하나의 테이블로 병합하여 출력하는 것이다. 이를 위해 'UNION ALL' 함수가 필요한데, 이를 사용하기 위해서는 두 테이블의 컬럼이 서로 같아야 한다. 하지만 user_id 컬럼이 online_sale에만 존재하기 때문에 offline_table에도 user_id 컬럼을 만들어 주되 그 안의 값은 NULL로 처리한다. 코드 SELECT DATE_FORMAT(sales_date, '%Y-%m-%d') SALES_DATE, product_id, user_id, sales_amount FROM online_sale WHERE sales_date LIKE '2022-03-%' UNION ALL SELECT DATE_.. 2022. 12. 13. 이전 1 2 3 4 다음