MariaDB / 함수 / COUNT, SUM, AVG, MAX, MIN

예제로 사용한 데이터베이스는 employees입니다.

COUNT

COUNT는 특정 조건을 만족하는 행의 개수를 세는 함수입니다.

employees 테이블의 전체 행 개수를 구합니다. 의미 상 전체 직원 수를 구하는 것입니다.

SELECT
  COUNT( * ) AS Count
FROM employees
;
+----------+
| Count    |
+----------+
|   300024 |
+----------+

WHERE를 이용하여 조건을 추가할 수 있습니다. 다음은 남자 직원의 수를 구하는 쿼리입니다.

SELECT
  COUNT( * ) AS Count
FROM employees
WHERE gender = "M"
;
+----------+
| Count    |
+----------+
|   179973 |
+----------+

GROUP BY를 이용하면 값 별로 개수를 구할 수 있습니다. 다음은 WHERE를 사용하지 않고 남자 직원과 여자 직원의 수를 구하는 쿼리입니다.

SELECT
  gender,
  COUNT( gender ) AS Count
FROM employees
GROUP BY gender
;
+--------+--------+
| gender | Count  |
+--------+--------+
| M      | 179973 |
| F      | 120051 |
+--------+--------+

SUM

SUM은 특정 조건을 만족하는 행의 개수를 세는 함수입니다.

salaries 테이블에서 emp_no가 10001인 사원 급여의 총합을 구합니다.

SELECT
  SUM( salary ) AS Salary
FROM salaries
WHERE emp_no = 10001
;
+-------------+
| Ssalary     |
+-------------+
|     1281612 |
+-------------+

AVG

AVG는 특정 조건을 만족하는 행의 값들의 평균을 구하는 함수입니다.

전체 급여의 평균을 구합니다.

SELECT
  AVG( salary ) AS Average
FROM salaries
;
+-------------+
| Average     |
+-------------+
|  63810.7448 |
+-------------+

emp_no가 10001인 사원의 평균 급여를 구합니다.

SELECT
  AVG( salary ) AS Average
FROM salaries
WHERE emp_no = 10001
;
+------------+
| Average    |
+------------+
| 75388.9412 |
+------------+

ROUND 함수로 소수점 아래의 숫자를 없앱니다.

SELECT
  ROUND( AVG( salary ), 0 ) AS Average
FROM salaries
WHERE emp_no = 10001
;
+---------+
| Average |
+---------+
|   75389 |
+---------+

MAX, MIN

MAX는 최댓값, MIN은 최솟값을 구하는 함수입니다.

급여의 최댓값과 최솟값을 구합니다.

SELECT
  MAX(salary) AS MAX,
  MIN(salary) AS MIN
FROM salaries
;
+--------+-------+
| MAX    | MIN   |
+--------+-------+
| 158220 | 38623 |
+--------+-------+

emp_no가 10001, 10002, 10003인 사원의 최대 급여과 최소 급여를 구합니다.

SELECT
  MAX(salary) AS MAX,
  MIN(salary) AS MIN
FROM salaries
WHERE emp_no IN ( 10001, 10002, 10003 )
;
+-------+-------+
| MAX   | MIN   |
+-------+-------+
| 88958 | 40006 |
+-------+-------+
같은 카테고리의 다른 글
MariaDB / Query / 주석

MariaDB / Query / 주석

MariaDB의 쿼리문에서 주석을 만드는 방법은 세 가지가 있습니다. 한 줄 주석 한 줄 주석을 만들고 싶다면 # 또는 --를 사용합니다. 기호가 있는 다음부터 줄 끝까지가 주석이 됩니다. # Comment -- Comment 여러 줄 주석 여러 줄의 주석을 만들고 싶다면 /* */를 사용합니다. /* Comment Comment */

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

데이터베이스 만들기 열(Column) 추가, 삭제 등을 해볼 테스트용 데이터베이스 jbTest를 만듭니다. CREATE DATABASE jbTest; 데이터베이스로 들어갑니다. USE jbTest; jbColumn1, jbColumn2, jbColumn3 세 개의 열을 가진 테이블 jbTable1을 만듭니다. CREATE TABLE jbTable1 ( jbColumn1 INT, jbColumn2 INT, jbColumn3 INT ) ; 다음은 현재 테이블 구조입니다. MariaDB > DESC jbTable1; +-----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | ...

MariaDB / Query / DISTINCT / 중복 데이터 제거

MariaDB / Query / DISTINCT / 중복 데이터 제거

DISTINCT를 이용하면 중복 값을 제거할 수 있습니다. 예를 들어 다음과 같은 test 테이블이 있다고 할 때... SELECT * FROM test; +---------+---------+---------+ | Column1 | Column2 | Column3 | +---------+---------+---------+ | 1 | A | 1 | | ...

MariaDB / 함수 / IF, IFNULL, NULLIF

MariaDB / 함수 / IF, IFNULL, NULLIF

IF 문법 IF( expression1, expression2, expression3 ) expression1가 참이면 expression2를, 거짓이면 expression3을 반환합니다. 예제 SELECT IF( 2>3, 'T', 'F' ); +---------------------+ | IF( 2>3, 'T', 'F' ) | +---------------------+ | F | +---------------------+ 2>3이 거짓이므로 F를 반환합니다. SELECT IF( 2<3, 'T', 'F' ); +---------------------+ | IF( ...

MariaDB / 함수 / INSERT / 일정 구간 문자열 교체하는 함수

MariaDB / 함수 / INSERT / 일정 구간 문자열 교체하는 함수

INSERT는 일정 구간의 문자열을 다른 문자열로 교체하는 함수입니다. INSERT( string, position, length, new-string ) string : 원본 문자열입니다. position : 구간이 시작하는 위치입니다. length : 구간의 길이입니다. new-string : 교체될 문자열입니다. 예를 들어 다음과 같은 경우, 1234567에서 4번째 문자부터 2개를 지우고 ABC를 넣습니다. 즉, 45를 지우고 ABC를 넣습니다. MariaDB > SELECT INSERT( '1234567', 4, 2, 'ABC' ...

MariaDB / Query / WHERE

MariaDB / Query / WHERE

예제로 사용한 데이터베이스는 employees이다. WHERE를 이용하면 조건에 맞는 데이터만 추출할 수 있다. 예를 들어 다음과 같이 쿼리하면 gener가 M인 경우 1을 반환하는데... SELECT first_name, gender, gender = 'M' FROM employees LIMIT 10 ; +------------+--------+--------------+ | first_name | gender | gender = 'M' | +------------+--------+--------------+ | Georgi | M ...

DBeaver / MariaDB / 외래 키(Foreign Key) 만들기, 삭제하기

DBeaver / MariaDB / 외래 키(Foreign Key) 만들기, 삭제하기

외래 키(Foreign Key) 만들기 기본 키가 있는 테이블(testTable1)을 만듭니다. 외래 키를 만들 테이블(testTable2)을 만듭니다. 를 클릭합니다. 마우스 우클릭한 후 를 클릭합니다. Column에서 외래 키를 선택하고, Ref Column에서 기본 키를 선택한 후 를 클릭합니다. 를 클릭합니다. 를 클릭하면... 외래 키가 만들어집니다. 외래 키(Foreign Key) 삭제하기 외래 키를 선택한 다음 마우스 우클릭하고 를 클릭합니다. 를 클릭하고... 를 클릭하면 외래 키가 ...

DBeaver / MariaDB / 테이블 만들기, 삭제하기

DBeaver / MariaDB / 테이블 만들기, 삭제하기

테이블 만들기 데이터베이스를 선택하고 마우스 우클릭합니다. 을 클릭하면... 다음과 같은 화면이 나옵니다. 테이블 이름을 정하고... 마우스 우클릭 후 을 클릭하거나, 아래에 있는 아이콘을 클릭하여... 열을 만듭니다. 를 클릭하고... 를 클릭하면... 테이블이 만들어집니다. 테이블 삭제하기 테이블을 선택하고 마우스 우클릭 후 를 클릭합니다. 를 클릭하면 테이블이 삭제됩니다.

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

JOIN SQL의 JOIN은 여러 테이블을 한 번에 나타낼 때 사용합니다. 대표적인 JOIN 방식은 LEFT JOIN, RIGHT JOIN, INNER JOIN이 있습니다. 다음은 세 가지 JOIN의 차이를 알아보기 위한 간단한 예제 테이블입니다. A 테이블에는 나라, B 테이블에는 도시가 있습니다. 도시가 어떤 나라의 도시인지는 a_no로 확인합니다. 나라는 있는데 도시가 없는 것도 있고, 나라는 없는데 도시는 있는 것도 있습니다. A ...

MariaDB / VIEW / 만들기, 수정하기, 삭제하기

MariaDB / VIEW / 만들기, 수정하기, 삭제하기

예제로 사용한 데이터베이스는 employees이다. VIEW VIEW는 SELECT의 결과를 테이블처럼 사용할 수 있게 해준다. 반복되는 쿼리를 대체하거나, 민감한 정보를 숨기고 싶을 때 사용한다. VIEW 만들기 CREATE VIEW 예를 들어 남자인 직원의 first_name과 last_name을 VIEW로 만든다고 하자. 우선 VIEW로 만들 데이터를 추출하는 쿼리를 만든다. SELECT first_name, last_name FROM employees WHERE gender = 'M' ; CREATE VIEW로 VIEW를 만든다. v_employees_male는 VIEW의 이름으로, 적절히 ...