SQL 고급 필터링과 다중 테이블 조회 기법
1. 데이터 필터링 기법
1.1 HAVING을 활용한 그룹 필터링
HAVING 절은 집계 함수 적용 후 그룹화된 결과에 조건을 적용할 때 사용합니다. WHERE 절은 개별 행에 필터를 적용하는 반면, HAVING은 SUM(), AVG(), COUNT() 등의 집계가 완료된 그룹 단위로 조건을 검사합니다.
실무 예시: 30세 이상 직원만 대상으로 부서별 평균 급여를 계산하고, 그 중 평균이 10,000원 초 ...
7월 17일 01:49에 게시됨
MySQL 기초 복습 및 실전 활용
주의: 잘못된 사용 방식 수정
키워드를 테이블 이름이나 컬럼 이름으로 사용할 경우, `` (백틱)을 사용해야 하며, ' ' (단일 인용부호)는 사용하지 않아야 합니다.
잘못된 예시
-- 1. 키워드로 지정 시 자동 대문자 처리
CREATE TABLE NAME(
DATA DATETIME,
);
-- 2. 단일 인용부호 사용
CREATE TABLE 'name'(
'data' DATETIME,
);
올바른 사용 방법
CREATE TAB ...
7월 16일 00:11에 게시됨
SQL 데이터 결합의 핵심: JOIN 연산과 서브쿼리 활용 및 최적화
관계형 데이터베이스와 JOIN 연산
관계형 데이터베이스 환경에서 데이터는 정규화 과정을 거쳐 여러 테이블에 분산 저장되는 것이 일반적입니다. 이러한 분산된 데이터에서 의미 있는 인사이트를 도출하거나 비즈니스 로직을 처리하기 위해서는 테이블 간의 관계를 기반으로 데이터를 결합해야 합니다. 이때 사용되는 핵심 연산이 바로 JOIN입니다. 본 글에서는 SQL의 다양 ...
6월 19일 02:07에 게시됨
Hive에서 발생하는 'Only SubQuery expressions that are top level conjuncts are allowed' 오류 해결
문제 상황
CDH 5.15.1 환경의 Hue 콘솔에서 Hive를 사용하여 복잡한 SQL을 실행할 때, IN 절 내부에 서브쿼리가 포함되어 있고, 그 조건이 OR와 함께 사용된 경우, 다음과 같은 오류가 발생합니다:
Only SubQuery expressions that are top level conjuncts are allowed
이 문제는 서브쿼리가 최상위 조건(즉, 논리식의 직접적인 구성 요소)이 아닌, 복합 조건 내부에 ...
6월 17일 20:13에 게시됨