IT/SQL7 [SQL]📊 GROUP BY – 집계 기준 설계 3가지 관점 GROUP BY는 SQL에서 가장 자주 쓰이면서도,어떻게 묶느냐에 따라 분석 결과가 달라지는 구문입니다. 이번 글에서는 실무에서 자주 사용되는 GROUP BY 집계 방식 3가지를 소개합니다. ❶ 단일 필드 기준 – 기본 집계예: 지점별 매출 합계SELECT store_id, SUM(sales_amount) AS total_salesFROM salesGROUP BY store_id; ▶ 단순하고 기초적인 집계 방식입니다. ❷ 다중 필드 기준 – 교차 분석용예: 지점 + 상품 카테고리별 매출SELECT store_id, category, SUM(sales_amount) AS total_salesFROM salesGROUP BY store_id, category; ▶ 다중 기준으로 교차된 분석이 가능하며.. 2025. 5. 15. 🔎 서브쿼리 없이 조건만 추출? – EXISTS 패턴 실무 활용법 SQL에서 WHERE 절에 자주 쓰이는 IN과 EXISTS.둘 다 하위 조건을 필터링할 때 사용하는데, EXISTS는 서브쿼리 대체 그 이상의 기능을 합니다. ❶ EXISTS 기본 구조 – 빠르게 조건만 확인SELECT customer_id, nameFROM customer cWHERE EXISTS ( SELECT 1 FROM order o WHERE o.customer_id = c.customer_id); 이 쿼리는 '주문이 존재하는 고객만 추출'합니다.▶ 서브쿼리 내용은 중요하지 않고, **결과 유무만 체크**▶ SELECT 1 처럼 반환 값은 의미 없음❷ IN vs EXISTS – 실무에서 성능 차이 발생IN은 하위 쿼리 결과를 **전체 메모리에 올려 비교**하는 방식이고,EXISTS는 조건.. 2025. 5. 14. 📄 WITH 절은 서브쿼리보다 더 강력하다 복잡한 SQL을 다루다 보면, 서브쿼리를 중첩해서 사용하는 경우가 많습니다.하지만 실무에서는 점점 더 WITH 절을 활용하는 흐름으로 가고 있죠.왜 그럴까요? 이번 포스팅에서 WITH 절(공통 테이블 표현식, CTE)이 실무에서 선호되는 이유를 소개합니다. ❶ 쿼리 가독성이 뛰어나다다음 두 쿼리를 비교해볼까요?-- 서브쿼리 방식SELECT a.dept_id, a.name, (SELECT COUNT(*) FROM employee b WHERE b.dept_id = a.dept_id) AS emp_countFROM department a; 이제 동일한 쿼리를 WITH 절로 바꿔봅니다:WITH emp_count_by_dept AS ( SELECT dept_id, CO.. 2025. 5. 13. 🧩 CASE WHEN이 필터링에도 쓰인다고요? CASE WHEN 구문은 SQL에서 흔히 쓰는 조건 분기 출력용 문법입니다.하지만 실무에서는 이 구문을 활용해 조건 필터링, 동적 집계, 다중 조건 처리까지 처리하는 경우도 많습니다. 이번 포스팅에서는 단순 결과 출력 외에 CASE WHEN을 활용한 두 가지 예제를 소개합니다. ❶ 특정 조건에만 필터링 적용하는 방식예: VIP 고객만 필터하고, 일반 고객은 무시SELECT user_id, CASE WHEN grade = 'VIP' THEN order_amount ELSE NULL END AS vip_amountFROM orders; 조건절로 필터링하지 않아도, 원하는 행만 분기해서 데이터 출력이 가능합니다.활용 포인트:▶ 필터링과 동시에 데이터 .. 2025. 5. 11. 🔄 LEFT JOIN인데 데이터가 빠져요? – JOIN 실수 CASE LEFT JOIN은 기준 테이블의 데이터를 모두 보여주는 조인 방식입니다.그런데 실무에서는 이걸 썼는데도 **데이터가 일부 누락되는 경우**가 꽤 자주 발생합니다. 이번 글에서는 실무에서 자주 발생하는 JOIN 누락 오류 2가지를 소개하고,그 해결 방법도 함께 알아 보려합니다. ❶ WHERE 절에서 NULL 값을 잘못 필터링한 경우다음 쿼리를 보면 LEFT JOIN을 썼지만, 결과는 INNER JOIN처럼 작동합니다.SELECT a.emp_id, b.project_nameFROM employee aLEFT JOIN project b ON a.emp_id = b.emp_idWHERE b.project_name = 'AI 개발'; 이 쿼리는 NULL을 포함한 결과를 필터링하고 있기 때문에,결국 조인 실패한.. 2025. 5. 11. ❓ WHERE 절이 있는데 조건이 왜 안 먹히나요? SQL 쿼리 작성 후 결과를 보면, 분명 WHERE 절을 썼는데도조건이 전혀 적용되지 않은 결과가 나올 때가 있습니다. 이번 글에서는 실무에서 특히 자주 발생하는‘WHERE 절 조건 무시 현상’ 3가지 경우를 정리해봅니다. ❶ NULL 값 비교 실수 – = NULL은 항상 FALSESQL에서는 NULL은 ‘비어 있는 값’이므로, 일반적인 비교 연산자(=, !=)로 비교하면 조건이 적용되지 않습니다.-- 잘못된 예시SELECT * FROM employee WHERE commission_pct = NULL;-- 올바른 예시SELECT * FROM employee WHERE commission_pct IS NULL; IS NULL 또는 IS NOT NULL로 비교해야 정확한 필터링이 가능합니다. ❷ 괄호 없.. 2025. 5. 11. 이전 1 2 다음