코딩 스쿨 SQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

SQL Count

SQL COUNT(): 행의 개수 세기

SQL COUNT() 함수는 테이블에서 특정 조건을 만족하는 행(row)의 개수를 반환하는 집계 함수입니다. 이 함수는 데이터의 수량을 계산하는 데 매우 유용하며, NULL 값을 제외하고 데이터를 세거나, 특정 열의 값 개수를 세는 데 사용됩니다.

1. 기본 COUNT() 문법

COUNT() 함수는 다음과 같은 형식으로 사용됩니다:

SELECT COUNT(열이름)
FROM 테이블이름
WHERE 조건;

  • 열이름: 개수를 셀 열(column)입니다. NULL 값을 제외하고 계산합니다.
  • WHERE 조건: 데이터를 필터링할 조건(선택적).
  • COUNT(*): 테이블의 전체 행 개수를 셉니다. NULL 값을 포함한 모든 행을 계산합니다.

2. SQL COUNT() 예제

2.1 테이블의 전체 행 개수 세기

다음은 employees 테이블의 전체 행 개수를 반환하는 예제입니다.

SELECT COUNT(*)
FROM employees;

이 쿼리는 테이블의 모든 행을 포함한 총 행의 개수를 반환합니다.

결과 예시:

COUNT(*)


10


2.2 특정 열의 개수 세기

다음 쿼리는 employees 테이블에서 NULL 값을 제외한 salary 열의 개수를 계산합니다.

SELECT COUNT(salary)
FROM employees;

이 쿼리는 급여(salary)가 NULL이 아닌 직원의 수를 반환합니다.

결과 예시:

COUNT(salary)


9


3. WHERE 절과 함께 사용하기

WHERE 절과 결합하여 특정 조건을 만족하는 행의 개수를 셀 수 있습니다.

3.1 특정 조건을 만족하는 행 개수

다음 쿼리는 Sales 부서에 속한 직원의 수를 계산합니다.

SELECT COUNT(*)
FROM employees
WHERE department = 'Sales';

결과 예시:

COUNT(*)


3


3.2 여러 조건을 결합하여 행 개수 계산

다음 쿼리는 Sales 부서에 속하며 급여가 5,000 이상인 직원의 수를 계산합니다.

SELECT COUNT(*)
FROM employees
WHERE department = 'Sales' AND salary >= 5000;

결과 예시:

COUNT(*)


2


4. DISTINCT와 함께 사용하기

COUNT() 함수는 DISTINCT와 결합하여 중복되지 않은 고유한 값의 개수를 셀 수 있습니다.

예제: 고유한 부서의 개수 세기

다음 쿼리는 employees 테이블에서 중복되지 않은 부서(department)의 수를 계산합니다.

SELECT COUNT(DISTINCT department)
FROM employees;

이 쿼리는 employees 테이블에 있는 고유한 부서의 개수를 반환합니다.

결과 예시:

COUNT(DISTINCT department)


4


5. GROUP BY와 함께 사용하기

GROUP BY 절과 함께 사용하면 특정 그룹별로 행의 개수를 셀 수 있습니다.

예제: 부서별 직원 수 세기

다음 쿼리는 각 부서별로 직원 수를 계산합니다.

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

이 쿼리는 각 부서에 속한 직원들의 수를 반환합니다.

결과 예시:

department employee_count
Sales 3
HR 2
Engineering 4

6. HAVING 절과 함께 사용하기

HAVING 절은 GROUP BY와 함께 사용되어 집계 결과에 조건을 걸 수 있습니다. 이 절은 WHERE 절과 달리, 집계된 결과에 조건을 적용할 수 있습니다.

예제: 직원 수가 3명 이상인 부서만 조회

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) >= 3;

이 쿼리는 직원 수가 3명 이상인 부서만 반환합니다.

결과 예시:

department employee_count
Sales 3
Engineering 4

7. 실전 예제

예제 1: 전체 직원 수 조회

SELECT COUNT(*)
FROM employees;

이 쿼리는 employees 테이블에 있는 전체 직원 수를 반환합니다.

예제 2: 급여가 6,000 이상인 직원 수 조회

SELECT COUNT(*)
FROM employees
WHERE salary >= 6000;

이 쿼리는 급여가 6,000 이상인 직원들의 수를 계산합니다.

예제 3: 고유한 부서의 개수 조회

SELECT COUNT(DISTINCT department)
FROM employees;

이 쿼리는 고유한 부서의 개수를 반환합니다.

예제 4: 부서별 직원 수 조회

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

이 쿼리는 부서별로 직원 수를 반환합니다.

예제 5: 직원 수가 5명 이상인 부서 조회

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) >= 5;

이 쿼리는 직원 수가 5명 이상인 부서만 반환합니다.

요약

SQL COUNT() 함수는 테이블에서 특정 조건을 만족하는 행의 개수를 세는 데 사용됩니다. 전체 행의 개수를 셀 수 있을 뿐만 아니라, 특정 조건에 맞는 데이터나 고유한 값의 개수를 계산할 수 있습니다. WHERE, DISTINCT, GROUP BY, HAVING 절과 함께 사용하면 다양한 방식으로 데이터를 분석할 수 있습니다. COUNT 함수는 데이터베이스 쿼리에서 데이터를 요약하고 분석하는 데 매우 중요한 도구입니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com