프로그래머스 SQL 고득점 Kit의 SELECT 파트를 풀며 새롭게 알게 된 SQL 내장 함수와 쿼리 작성 팁들을 문법별로 정리해 보았습니다. 단순 조회를 넘어 데이터의 형식을 가공하고 예외(NULL)를 처리하는 기초 체력을 다지는 데 아주 유용했습니다.데이터베이스에서
SELECT 파트가 데이터를 단순히 조회하는 것이었다면, GROUP BY는 흩어진 데이터를 의미 있는 단위로 묶어 통계를 내는 핵심 과정입니다. 이번 두 문제를 통해 특정 기준(카테고리, 시간대)별 집계 방식을 학습했습니다.새로 배운 점: 1. 판매 기록(BOOK_SA
📌 JOIN: 두 테이블의 교집합과 차집합 다루기 SQL의 진정한 강력함은 여러 테이블을 하나로 엮어 새로운 통찰을 얻는 JOIN에서 나옵니다. 이번 포스팅에서는 데이터의 선후 관계를 비교하고, 유실된 데이터를 찾아내는 실전 JOIN 기술을 정리했습니다. 💡 1.
최적화 철학 회고SQL 문제를 풀면서, 무거운 그룹화(GROUP BY) 연산을 수행하기 전에 필터링(WHERE)을 먼저 걸어두는 것이 연산 속도 측면에서 압도적으로 이득일 것이라 판단했다. 이 생각은 데이터베이스 최적화 관점에서 100% 정답이었다. 하지만 놀라운 점은
SQL 문제 해결 회고프로그래머스 '조건에 맞는 개발자 찾기' 문제를 풀며, 일반적인 외래키(FK) 매핑이 아닌 비트 연산(Bitwise Operation)을 통한 조인 기법을 학습했다. 더 나아가, JOIN 연산 시 필연적으로 발생하는 '1:N 데이터 증식(뻥튀기)'
알고리즘 문제를 풀다가 SQL을 처음 접하면 가장 당황스러운 순간이 바로 "값을 직접 비교하고 대입하는 과정(할당, =)이 없다"는 점이다.C++, Python, Java와 같은 언어에서는 for문으로 배열을 순회하며 if-else로 값을 변수에 대입하는 절차적(Imp
SQL 코딩테스트를 풀다 보면 로직이 완벽함에도 불구하고 결과가 아예 나오지 않는(Empty Set) 현상을 마주할 때가 있다. 특히 서브쿼리와 함께 NOT IN을 사용할 때 이 현상이 자주 발생하는데, 그 원인은 바로 데이터베이스의 3값 논리(Three-Valued