728x90
SMALL
- 이번에는 WHERE 절, GROUP BY & HAVING 절, 그리고 ORDER BY 절에 대해 알아보겠습니다!
조건을 달고 싶다면, 무조건 WHERE 절!
- WHERE 절은 SQL 쿼리에서 특정 조건을 만족하는 행(row)을 선택하기 위해 사용됩니다.
- WHERE 절은 데이터를 필터링하여, 조건에 부합하는 데이터만을 결과로 반환합니다.
- 또한 다양한 연산자와 함께 사용되어, 보다 세밀한 데이터 검색과 분석을 가능하게 합니다.
✅ 비교 연산자 5가지!
- 비교 연산자는 두 값의 비교 결과에 따라 참(True) 또는 거짓(False)을 반환합니다.
- 기본적인 비교 연산자에는 =, >, <, >=, <= 가 있습니다.
- 예를 들어, age > 18은 'age'가 18보다 클 경우 참을 반환합니다.
✅ 부정 비교 연산자
- 부정 비교 연산자는 비교 연산의 결과를 반전시킵니다.
- 예를 들어, != 또는 <> 연산자는 두 값이 다를 경우 참을 반환합니다.
- NOT 키워드를 다른 연산자와 함께 사용하여, 예를 들어 NOT BETWEEN, NOT IN, NOT LIKE와 같이 부정의 의미를 부여할 수도 있습니다.
✅ SQL 연산자 4가지!
- SQL 연산자는 데이터를 필터링할 때 사용되는 다양한 연산자를 포함합니다.
- 여기에는 BETWEEN, IN, LIKE, IS NULL 등이 있습니다.
- BETWEEN은 값이 두 범위 사이에 있는지, IN은 지정된 값 목록 중 하나와 일치하는지, LIKE은 패턴 매칭을 통해 값이 일치하는지, IS NULL은 값이 NULL인지를 검사합니다.
✅ 부정 SQL 연산자
- 부정 SQL 연산자는 NOT 키워드를 사용하여 특정 조건의 반대를 필터링합니다.
- 예를 들어, NOT BETWEEN A AND B은 지정된 두 값 사이에 있지 않은 행을 찾고, NOT IN은 지정된 목록에 포함되지 않은 행을 찾으며, NOT LIKE은 특정 패턴과 일치하지 않는 행을 찾습니다.
- WHERE NOT (PRICE < 500 AND PRICE > 800)의 경우에는 괄호를 풀게 되면 WHERE PRICE >= 500 OR PRICE <= 800이 됩니다.
✅ 논리 연산자 3가지!
- 논리 연산자는 하나 이상의 조건을 결합하여 복잡한 조건을 구성할 때 사용됩니다.
- AND, OR, NOT이 주요 논리 연산자입니다. AND는 모든 조건이 참일 때 참을 반환하며, OR은 적어도 하나의 조건이 참일 때 참을 반환합니다. NOT은 조건의 결과를 반전시킵니다.
데이터를 묶어보려면, GROUP BY & HAVING 절!
✅ GROUP BY
- GROUP BY 절은 SQL 쿼리에서 특정 열의 값에 기반하여 행(row)들을 그룹화하는 데 사용됩니다.
- 이를 통해 집계 함수(예: COUNT, MAX, MIN, SUM, AVG 등)를 그룹별로 적용하여, 각 그룹에 대한 요약 정보를 얻을 수 있습니다.
- 예를 들어, 아래와 같이 각 부서별 직원 수를 계산하고 싶을 때 GROUP BY 절을 사용할 수 있습니다.
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;
✅ 집계 함수 7가지!
- 집계 함수는 여러 행의 값을 요약하여 단일 값을 반환하는 함수입니다.
- 대표적인 집계 함수는 아래와 같습니다!
- COUNT(*): 전체 row 수를 count하여 반환합니다.
- COUNT(컬럼): 컬럼값이 null인 row를 제외한 row의 수를 count하여 반환합니다.
- COUNT(DISTINCT 컬럼): 컬럼값이 null이 아닌 row에서 중복을 제거한 row의 수를 count하여 반환합니다.
- SUM(컬럼): 컬럼값들의 합계를 반환합니다.
- AVG(컬럼): 컬럼값들의 평균을 반환합니다.
- MIN(컬럼): 컬럼값들의 최솟값을 반환합니다.
- MAX(컬럼): 컬럼값들의 최댓값을 반환합니다.
✅ HAVING
- HAVING 절은 GROUP BY 절과 함께 사용되어, 그룹화된 결과에 대한 조건을 지정합니다.
- WHERE 절과 비슷하지만, HAVING은 그룹화된 결과에 대한 필터링을 수행합니다.
- 집계 함수에 대한 조건절은 HAVING 절을 이용하여 작성해야 합니다.
- 또한, 논리적으로 HAVING 절은 SELECT 절보다 먼저 수행되기 때문에 SELECT 절에서 정의한 별칭을 사용할 수 없습니다.
- 예를 들어, 직원 수가 10명 이상인 부서만을 선택하고 싶다면 HAVING 절을 사용할 수 있습니다.
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;
데이터를 정렬하려면, ORDER BY 절!
- ORDER BY 절은 SQL 쿼리의 결과를 특정 열의 값에 따라 정렬하는 데 사용됩니다.
- 기본적으로 오름차순(ASC)으로 정렬되며, 내림차순으로 정렬하려면 DESC 키워드를 사용합니다.
- 여러 열을 기준으로 정렬할 수도 있으며, 이 경우 첫 번째 열을 기준으로 정렬한 후, 동일한 값이 있는 행에 대해서는 두 번째 열을 기준으로 정렬합니다.
- ORDER BY 절의 옵션(ASC, DESC 등)은 각 컬럼 다음에 하나씩 붙여서 작성해야 합니다.
728x90
LIST
'자격증 > SQLD' 카테고리의 다른 글
SQL 기본 (4) (2) | 2024.02.26 |
---|---|
SQL 기본 (3) (3) | 2024.02.26 |
SQL 기본 (1) (0) | 2024.02.19 |
데이터 모델과 SQL (2) (0) | 2024.02.15 |
데이터 모델과 SQL (1) (1) | 2024.02.12 |