[SQL] 그룹 함수
개요 결산 개념의 업무를 가지는 원가나 판매 시스템의 경우는 소계, 중계, 합계, 총합계 등 여러 레벨의 결산 보고서를 만드는 것이 중요 업무 중 하나이다. 개발자들이 이런 보고서를 작성하기 위해서는 SQL이 포함된 3GL로 배치 프로그램을 작성하거나, 레벨별 집계를 위한 여러 단계의 SQL을 UNION과 UNION ALL로 묶은 후 하나의 테이블...
개요 결산 개념의 업무를 가지는 원가나 판매 시스템의 경우는 소계, 중계, 합계, 총합계 등 여러 레벨의 결산 보고서를 만드는 것이 중요 업무 중 하나이다. 개발자들이 이런 보고서를 작성하기 위해서는 SQL이 포함된 3GL로 배치 프로그램을 작성하거나, 레벨별 집계를 위한 여러 단계의 SQL을 UNION과 UNION ALL로 묶은 후 하나의 테이블...
집합연산자란 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법이 있다. 바로 집합 연산자를 사용하는 방법이다. 조인은 조인 조건을 사용해 여러 테이블의 행과 행을 서로 연결한다. 하지만 집합연산자는 여러 개의 결과 집합 간의 연산을 통해 결합하는 방식을 사용한다. 즉 집합 연산자는 2개 이상의 질의 결과를 하나의 결과로 ...
서브쿼리란? 서브쿼리는 하나의 SQL문안에 포함돼 있는 또 다른 SQL문을 말하며, 메인쿼리에 종속되어 있다. 때문에 서브쿼리는 메인 쿼리의 컬럼을 모두 사용할 수 있지만, 메인쿼리는 서브 쿼리의 컬럼을 사용할 수없다. 질의 결과에 서브 쿼리 컬럼을 표시해야 한다면 조인방식으로 변환하거나 함수, 스칼라 서브쿼리 등을 사용해야한다. 알아두기 ...
조인 개념 조인은 테이블간의 결합을 의미한다. 즉, 2개 이상의 테이블을 결합하여 데이터를 출력할 때 조인을 활용한다. 조인은 크게 오라클 조인과 안시조인(표준)이 있으며, 오라클 조인은 오라클DB에서만 사용가능하고 안시조인(표준)은 모든 벤더사 DB에서 사용가능하다. 조인 방법 조인에는 여러가지 방법이 있으며, 각 방법이 오라클 조인과 안시...
ORDER BY절은 SQL문장으로 조회한 데이터들을 다양한 목적에 맞게 특정 컬럼을 기준으로 정렬 및 출력하는데 사용한다. 어떻게 사용하는지 바로 알아보자. 사용법 SELECT 컬럼명 FROM 테이블명 ORDER BY 컬럼 또는 표현식 [ASC 또는 DESC]; ORDER BY절에 컬럼명 대신 SELECT절에서 사용한 ALIAS명이나 컬...
WHERE절을 통해 조건에 맞는 데이터를 조회했지만 테이블에 1차적으로 존재하는 데이터 이외의 정보, 예를 들면 팀별로 선수가 몇명인지, 선수들의 평균 신장과 몸무게가 얼마나 되는지, 또는 각팀에서 가장 큰 키의 선수가 누구인지 등의 2차 가공 정보도 필요하다. 이런 경우 사용되는 것이 GROUP BY절이며, 특징이 무엇이고 어떻게 활용하는지 함께 알...
집계함수는 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수이다. 바로 본론으로 들어가 집계함수의 특징과 종류에는 무엇이 있는지 알아보자. 집계함수 특징 집계함수의 주요한 특징은 다음과 같다. 여러 행들의 그룹이 모여 그룹당 단 하나의 결과를 돌려주는 함수다. GROUP BY절은 행들을 소그룹화한다. SELEC...
자료를 검색할 때 SELECT절과 FROM절만 사용해 기본적인 SQL문장을 구성한다면, 테이블에 있는 모든 자료가 결과로 출력되 실제로 원하는 자료를 확인하기 어려울 수 있다. 따라서 사용자들은 자신이 원하는 자료만을 검색하기 위해 SQL 문장에 WHERE절을 이용해 자료를 제한할 수 있다. 현실의 DB는 많은 사용자나 프로그램들이 동시에 접속해 다...
SQL에서 Null은 중요한 개념이며 잘 다루어야 문제없이 데이터 처리가 가능하다. Null의 개념과 성질에 대해서는 작성해놓은 포스팅이 있으니 생략하고 바로 관련 함수를 살펴보겠다. 관련 함수를 살펴보기전 Null의 개념을 잡고 싶다면 아래 링크를 참조하길 바란다. [SQL] Null 속성의 이해 - Wonmo Lee’s github tech bl...
CASE 표현은 IF-THEN-ELSE 논리와 유사한 방식으로 표현식을 작성해 SQL의 비교 연산 기능을 보완하는 역할을 하며, ANSI/ISO SQL 표준에는 CASE Expression이라고 표시되어 있는데, 함수와 같은 성격을 갖고 있음과 동시에 Oracle의 Decode 함수와 같은 기능을 한다. 본론으로 들어가보자. CASE 표현 문법 ...