이번에는 그룹 함수 중에서도 전에 배운 집계 함수를 제외한 소계(총계) 함수, 그리고 윈도우 함수들에 대해 알아보겠습니다! 그룹 함수란?그룹 함수는 SQL에서 다양한 수준의 요약 데이터(합계, 평균 등)를 생성하는 데 사용되는 고급 함수입니다. 다음은 주요 그룹 함수 중에서도 소계 함수들에 대한 설명입니다. ✅ ROLLUP집계 데이터를 여러 레벨의 소계로 제공하여, 데이터의 계층적 구조를 보여줍니다. ROLLUP을 사용하면 최종 합계와 함께 각 단계의 소계를 쉽게 계산할 수 있습니다. 아래는 ROLLUP의 예시로, 컬럼1과 컬럼2를 기준으로 그룹화하고 각 그룹 및 서브 그룹의 합계와 전체 합계를 계산합니다.SELECT 컬럼1, 컬럼2, SUM(컬럼3)FROM 테이블GROUP BY ROLLUP(컬럼1, 컬..
이번에는 서브쿼리, 뷰, 집합 연산자에 대한 SQL 활용 부분을 알아보겠습니다! 서브쿼리란?서브쿼리는 SQL 문 내에서 다른 SQL 문을 포함하여 사용하는 기법으로, 데이터를 조회하거나 조작할 때 유용하게 사용됩니다.서브쿼리의 다양한 유형과 활용 방법에 대해 알아보겠습니다. ✅ 스칼라 서브쿼리스칼라 서브쿼리는 단일 행과 단일 컬럼을 반환하는 서브쿼리입니다.주로 SELECT 절에서 사용되며, 단일 값으로 처리됩니다.예를 들어, 특정 제품의 평균 가격보다 높은 가격의 제품을 찾을 때 스칼라 서브쿼리를 활용할 수 있습니다.SELECT product_name, priceFROM productsWHERE price > (SELECT AVG(price) FROM products); ✅ 인라인 뷰 인라인 뷰는 FRO..
앞선 글에서 나오지 않은 개념이나 헷갈리는 문제들을 정리하고 'SQL 기본' 챕터를 마무리하고자 합니다. ✅ SELECT 쿼리SELECT 쿼리는 논리적인 SELECT ALIAS - FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY 순서로 진행됩니다. ✅ ALIAS별도의 ALIAS가 지정되어 있지 않으면 컬럼명이 대문자로 출력됩니다. ✅ 산술 연산자나눗셈 연산을 진행할 때 0으로 나누어지는 경우에는 0으로 나눌 수 없다는 내용의 오류가 발생합니다. ✅ 문자열 데이터에서 주의할 점!CHAR 데이터 타입은 고정 길이를 가지고 있는 문자열 데이터입니다.만약 특정 컬럼의 데이터 타입이 CHAR(5)인데 컬럼값이 3인 경우, 나머지 2자리는 공백으로 채워 고정 길이를 유..
이번 글에서는 JOIN과 표준 JOIN에 대한 내용을 다뤄보며 SQL 기본 챕터를 마무리하도록 하겠습니다. 데이터 간의 연결이 필요하다면, JOIN!✅ JOIN이란?JOIN은 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 SQL 연산입니다.서로 관련 있는 데이터 항목들 사이의 관계를 기반으로 정보를 결합할 수 있습니다.일반적으로 JOIN은 PK와 FK 값의 연관성에 의해 성립됩니다.JOIN에는 다양한 유형이 있으며, 각각의 사용법과 목적이 다릅니다. ✅ EQUI JOINEQUI JOIN(동등 조인)은 두 테이블 간의 컬럼 값이 정확하게 일치할 때 컬럼을 결합하는 방법입니다.= 연산자만을 사용하여 JOIN 조건을 명시합니다. EQUI JOIN은 INNER JOIN의 일종으로, 두 테이블..
이번에는 WHERE 절, GROUP BY & HAVING 절, 그리고 ORDER BY 절에 대해 알아보겠습니다! 조건을 달고 싶다면, 무조건 WHERE 절!WHERE 절은 SQL 쿼리에서 특정 조건을 만족하는 행(row)을 선택하기 위해 사용됩니다. WHERE 절은 데이터를 필터링하여, 조건에 부합하는 데이터만을 결과로 반환합니다. 또한 다양한 연산자와 함께 사용되어, 보다 세밀한 데이터 검색과 분석을 가능하게 합니다. ✅ 비교 연산자 5가지! 비교 연산자는 두 값의 비교 결과에 따라 참(True) 또는 거짓(False)을 반환합니다. 기본적인 비교 연산자에는 =, >, , >=, 가 있습니다. 예를 들어, age > 18은 'age'가 18보다 클 경우 참을 반환합니다. ✅ 부정 비교 연산자 부정..