웹사이트 검색

SQL에서 함수를 사용하는 방법


저자는 Write for DOnations 프로그램을 선택했습니다.

소개

관계형 데이터베이스 및 SQL(Structured Query Language)로 작업할 때 관계형 데이터베이스 관리 시스템에서 데이터를 저장, 관리 및 검색할 수 있습니다. SQL은 데이터베이스 내에 저장된 그대로 데이터를 검색할 수 있습니다.

SQL은 함수를 사용하여 계산을 수행하고 데이터를 조작할 수도 있습니다. 예를 들어 함수를 사용하여 가장 가까운 달러로 반올림된 제품 가격을 검색하거나 평균 제품 구매 수를 계산하거나 특정 구매에 대한 보증이 만료될 때까지의 일수를 결정할 수 있습니다.

이 자습서에서는 다양한 SQL 함수를 사용하여 수학적 계산을 수행하고, 문자열 및 날짜를 조작하고, 집계 함수를 사용하여 요약을 계산합니다.

전제 조건

이 가이드를 따르려면 SQL 기반 RDBMS(관계형 데이터베이스 관리 시스템)를 실행하는 컴퓨터가 필요합니다. 이 가이드의 지침과 예제는 다음 환경을 사용하여 검증되었습니다.

  • Ubuntu 20.04용 초기 서버 설정 가이드에 설명된 대로 관리 권한이 있는 루트가 아닌 사용자와 UFW로 구성된 방화벽이 있는 Ubuntu 20.04를 실행하는 서버
  • 3단계에 설명된 대로 서버에 MySQL을 설치하고 보호합니다.
  • How To SELECT Rows FROM Tables in SQL 가이드에 설명된 대로 SELECT 쿼리를 실행하여 데이터베이스에서 데이터를 선택하는 것과 관련된 기본 지식.

참고: 많은 RDBMS는 자체 SQL 구현을 사용합니다. 이 자습서에 설명된 명령은 대부분의 RDBMS에서 작동하지만 표준 SQL 구문은 제한된 수의 기능을 지정합니다. 또한 표준 구문에 대한 지원은 데이터베이스 엔진마다 다릅니다. MySQL 이외의 시스템에서 테스트하는 경우 정확한 구문이나 출력이 다를 수 있습니다.

또한 함수 사용을 연습할 수 있도록 샘플 데이터가 로드된 일부 테이블이 있는 데이터베이스가 필요합니다. MySQL 서버에 연결하고 이 가이드의 예제에 사용된 테스트 데이터베이스를 만드는 방법에 대한 자세한 내용은 다음 MySQL에 연결 및 샘플 데이터베이스 설정 섹션을 참조하십시오.

MySQL에 연결 및 샘플 데이터베이스 설정

이 섹션에서는 이 가이드의 예제를 따를 수 있도록 MySQL 서버에 연결하고 샘플 데이터베이스를 생성합니다.

SQL 데이터베이스 시스템이 원격 서버에서 실행되는 경우 로컬 시스템에서 서버로 SSH합니다.

  1. ssh sammy@your_server_ip

그런 다음 MySQL 서버 프롬프트를 열고 sammyMySQL 사용자 계정의 이름으로 바꿉니다.

  1. mysql -u sammy -p

bookstore라는 데이터베이스를 만듭니다.

  1. CREATE DATABASE bookstore;

데이터베이스가 성공적으로 생성되면 다음과 같은 출력을 받게 됩니다.

Output
Query OK, 1 row affected (0.01 sec)

bookstore 데이터베이스를 선택하려면 다음 USE 문을 실행합니다.

  1. USE bookstore;

다음 출력을 받게 됩니다.

Output
Database changed

데이터베이스를 선택한 후 그 안에 샘플 테이블을 생성할 수 있습니다. 이 가이드에서는 여러 저자의 책을 판매하는 가상의 서점을 사용합니다.

inventory 테이블에는 서점의 책에 대한 데이터가 포함됩니다. 다음 열을 포함합니다.

  • book_id: 이 열에는 int 데이터 유형으로 표시되는 각 책의 식별자가 있습니다. 이 열은 테이블의 기본 키가 되며 각 값은 해당 행의 고유 식별자가 됩니다.
  • author: 이 열에는 최대 50자의 varchar 데이터 유형을 사용하여 표현된 책 저자의 이름이 있습니다.
  • 제목: 이 열에는 최대 200자의 varchar 데이터 유형을 사용하여 표현된 구입한 책의 제목이 있습니다.
  • introduction_date: 날짜 데이터 유형을 사용하여 이 열에는 각 책이 서점에서 소개된 날짜가 포함됩니다.
  • 재고: 이 열은 int 정수 데이터 유형을 사용하여 서점의 인벤토리에 있는 책의 수를 보유합니다.
  • price: 이 열은 decimal 데이터 유형을 사용하여 책의 소매가를 저장하며 소수점 앞에 최대 값은 5이고 <2 값이 뒤에 있습니다.

다음 명령을 사용하여 샘플 테이블을 생성합니다.

  1. CREATE TABLE inventory (
  2. book_id int,
  3. author varchar(50),
  4. title varchar(200),
  5. introduction_date date,
  6. stock int,
  7. price decimal(5, 2),
  8. PRIMARY KEY (book_id)
  9. );

다음 출력이 인쇄되면 테이블이 생성된 것입니다.

Output
Query OK, 0 rows affected (0.00 sec)

그런 다음 다음 INSERT INTO 작업을 실행하여 일부 샘플 데이터가 포함된 구매 테이블을 로드합니다.

  1. INSERT INTO inventory
  2. VALUES
  3. (1, 'Oscar Wilde', 'The Picture of Dorian Gray', '2022-10-01', 4, 20.83),
  4. (2, 'Jane Austen', 'Pride and Prejudice', '2022-10-04', 12, 42.13),
  5. (3, 'Herbert George Wells', 'The Time Machine', '2022-09-23', 7, 21.99),
  6. (4, 'Mary Shelley', 'Frankenstein', '2022-07-23', 9, 17.43),
  7. (5, 'Mark Twain', 'The Adventures of Huckleberry Finn', '2022-10-01', 14, 23.15);

INSERT INTO 작업은 지정된 값을 가진 5권의 책을 inventory 테이블에 추가합니다. 다음 출력은 5개 행이 모두 추가되었음을 나타냅니다.

Output
Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0

이것으로 가이드의 나머지 부분을 따르고 SQL에서 함수를 사용할 준비가 된 것입니다.

SQL 함수 이해

함수는 하나 이상의 값을 취하고, 데이터에 대한 계산 또는 변환을 수행하고, 결과로 새 값을 반환하는 명명된 표현식입니다. SQL 함수는 수학의 함수와 유사하게 생각할 수 있습니다. 함수 log(x)는 일부 x를 취하고 x에 대한 로그 값을 반환합니다.

일반적으로 관계형 데이터베이스에서 정보를 검색하려면(변환하지 않고) SELECT 쿼리를 사용하여 명령문에 열 이름을 지정하여 관심 있는 개별 열에 대한 값을 반환하도록 데이터베이스에 요청합니다. .

예를 들어, 가격이 가장 높은 것부터 가장 저렴한 것까지 순서대로 모든 책 제목을 검색하려는 경우 다음 명령문을 실행할 수 있습니다.

  1. SELECT title, price, introduction_date FROM inventory ORDER BY price DESC;

다음과 같은 결과가 표시됩니다.

Output
+------------------------------------+-------+-------------------+ | title | price | introduction_date | +------------------------------------+-------+-------------------+ | Pride and Prejudice | 42.13 | 2022-10-04 | | The Adventures of Huckleberry Finn | 23.15 | 2022-10-01 | | The Time Machine | 21.99 | 2022-09-23 | | The Picture of Dorian Gray | 20.83 | 2022-10-01 | | Frankenstein | 17.43 | 2022-07-23 | +------------------------------------+-------+-------------------+ 5 rows in set (0.000 sec)

이 문에서 title, priceintroduction_date는 열 이름이며 결과 출력에서 데이터베이스는 해당 열에서 검색된 온전한 값을 표시했습니다. 각 책에 대해: 전체 책 제목, 가격 및 책이 서점에 들어간 날짜.

그러나 어떤 형태의 처리 또는 조작 후에 데이터베이스에서 값을 검색할 수도 있습니다. 가장 가까운 달러로 반올림된 책 가격, 대문자로 표시된 책 제목 또는 월이나 일이 포함되지 않은 소개 연도에 관심이 있을 수 있습니다. 이것은 함수를 사용할 때입니다.

SQL 함수는 작동하는 데이터 유형에 따라 여러 그룹으로 광범위하게 분류할 수 있습니다. 다음은 가장 일반적으로 사용되는 기능입니다.

  • 수학 함수: 숫자 값에 대해 작동하고 반올림, 로그, 제곱근 또는 거듭제곱과 같은 계산을 수행하는 함수
  • 문자열 조작 함수: 텍스트를 대문자로 변환, 트리밍 또는 값 내의 단어 바꾸기와 같은 텍스트 변환을 수행하는 문자열 및 텍스트 필드에서 작동하는 함수
  • 날짜 및 시간 함수: 날짜를 포함하는 필드에서 작동하는 함수입니다. 이러한 함수는 지정된 날짜에 일 수를 추가하거나 전체 날짜에서 1년만 취하는 것과 같은 계산 및 변환을 수행합니다.
  • 집계 함수: 모든 행에 대한 평균 가격 계산과 같이 여러 행에서 오는 값에 대해 작동하는 수학 함수의 특별한 경우입니다.

참고: MySQL을 포함한 대부분의 관계형 데이터베이스는 SQL 표준에 의해 정의된 표준 함수 집합을 해당 데이터베이스 엔진에 특정한 추가 작업으로 확장합니다. SQL 함수의 표준 집합 이외의 많은 함수는 많은 데이터베이스에서 유사하게 작동하는 반면 다른 함수는 단일 RDBMS와 고유한 기능으로 제한됩니다. 데이터베이스가 제공하는 기능에 대해 자세히 알아보려면 선택한 데이터베이스에 대한 설명서를 참조할 수 있습니다. MySQL의 경우 내장 함수 및 연산자 참조에서 자세히 알아볼 수 있습니다.

다음 예는 EXAMPLE이라는 가상의 존재하지 않는 함수를 사용하여 SELECT 쿼리:

  1. SELECT EXAMPLE(price) AS new_price FROM inventory;

함수(EXAMPLE)는 열 이름(price)을 괄호로 묶인 인수로 사용합니다. 쿼리의 이 부분은 price 열의 값에 대해 EXAMPLE 함수를 실행하고 이 작업의 결과를 반환하도록 데이터베이스에 지시합니다. AS new_price는 쿼리 기간 동안 계산된 값에 임시 이름(new_price)을 할당하도록 데이터베이스에 지시합니다. 이를 통해 출력에서 함수 결과를 구분할 수 있고 ORDER BY 절을 사용하여 계산된 값을 참조할 수 있습니다.

다음 섹션에서는 수학 함수를 사용하여 일반적으로 사용되는 계산을 수행합니다.

수학 함수 사용

수학 함수는 책 가격이나 샘플 데이터베이스의 재고 책 수와 같은 숫자 값에 대해 작동합니다. 결과를 요구 사항에 맞추기 위해 데이터베이스 내에서 계산을 수행하는 데 사용할 수 있습니다.

반올림은 SQL에서 수학 함수의 가장 일반적으로 사용되는 응용 프로그램 중 하나입니다. 모든 책의 가격을 검색해야 하지만 가장 가까운 달러 단위로 반올림된 값에 관심이 있다고 가정해 보십시오. 이렇게 하려면 반올림 연산을 수행하는 ROUND 함수를 사용할 수 있습니다.

다음 명령문을 실행해 보십시오.

  1. SELECT title, price, ROUND(price) AS rounded_price FROM inventory;

다음 출력이 화면에 인쇄됩니다.

Output
+------------------------------------+-------+---------------+ | title | price | rounded_price | +------------------------------------+-------+---------------+ | The Picture of Dorian Gray | 20.83 | 21 | | Pride and Prejudice | 42.13 | 42 | | The Time Machine | 21.99 | 22 | | Frankenstein | 17.43 | 17 | | The Adventures of Huckleberry Finn | 23.15 | 23 | +------------------------------------+-------+---------------+ 5 rows in set (0.000 sec)

쿼리는 ROUND(price ) 함수. 이 함수는 하나의 인수인 열 이름(이 경우 price)을 사용하고 테이블에서 해당 열의 값을 가장 가까운 정수 값으로 반올림하여 반환합니다.

반올림 함수는 반올림이 발생해야 하는 소수 자릿수를 정의하는 추가 인수와 단일 열 이름 대신 산술 연산을 허용할 수도 있습니다. 예를 들어 다음 쿼리를 실행해 보십시오.

  1. SELECT title, price, ROUND(price * stock, 1) AS stock_price FROM inventory;

다음과 같은 결과가 표시됩니다.

Output
+------------------------------------+-------+-------+-------------+ | title | stock | price | stock_price | +------------------------------------+-------+-------+-------------+ | The Picture of Dorian Gray | 4 | 20.83 | 83.3 | | Pride and Prejudice | 12 | 42.13 | 505.6 | | The Time Machine | 7 | 21.99 | 153.9 | | Frankenstein | 9 | 17.43 | 156.9 | | The Adventures of Huckleberry Finn | 14 | 23.15 | 324.1 | +------------------------------------+-------+-------+-------------+ 5 rows in set (0.000 sec)

ROUND(price * stock, 1)를 실행하면 먼저 책 한 권의 가격에 재고가 있는 책의 수를 곱한 다음 결과 가격을 소수 첫째 자리에서 반올림합니다. 결과는 stock_price 임시 열에 표시됩니다.

MySQL에 내장된 다른 수학 함수에는 삼각 함수, 제곱근, 거듭제곱, 로그 및 지수가 포함됩니다. SQL 자습서에서 수학 식 및 집계 함수를 사용하는 방법에서 SQL에서 수학 함수를 사용하는 방법에 대해 자세히 알아볼 수 있습니다.

다음 섹션에서는 SQL 함수를 사용하여 데이터베이스에서 텍스트를 조작합니다.

문자열 조작 함수 사용

SQL의 문자열 조작 기능을 사용하면 SQL 쿼리를 처리할 때 텍스트를 포함하는 열에 저장된 값을 변경할 수 있습니다. 무엇보다도 사례를 변환하거나 여러 열의 데이터를 연결하거나 검색 및 바꾸기 작업을 수행하는 데 사용할 수 있습니다.

소문자로 변환된 모든 책 제목을 검색하여 문자열 함수를 사용하기 시작합니다. 다음 문을 실행합니다.

  1. SELECT LOWER(title) AS title_lowercase FROM inventory;

다음 출력이 화면에 인쇄됩니다.

Output
+------------------------------------+ | title_lowercase | +------------------------------------+ | the picture of dorian gray | | pride and prejudice | | the time machine | | frankenstein | | the adventures of huckleberry finn | +------------------------------------+ 5 rows in set (0.001 sec)

LOWER라는 SQL 함수는 단일 인수를 사용하고 해당 내용을 소문자로 변환합니다. 열 별칭 AS title_lowercase를 통해 결과 데이터는 title_lowercase라는 임시 열에 표시됩니다.

이제 모든 저자를 검색하고 이번에는 대문자로 변환합니다. 다음 SQL 쿼리를 실행해 보십시오.

  1. SELECT UPPER(author) AS author_uppercase FROM inventory;

다음과 같은 결과가 표시됩니다.

Output
+----------------------+ | author_uppercase | +----------------------+ | OSCAR WILDE | | JANE AUSTEN | | HERBERT GEORGE WELLS | | MARY SHELLEY | | MARK TWAIN | +----------------------+ 5 rows in set (0.000 sec)

LOWER 함수 대신 유사하게 작동하지만 텍스트를 대문자로 변환하는 UPPER 함수를 사용했습니다. 데이터를 검색할 때 대소문자 일관성을 보장하려는 경우 두 함수를 모두 사용할 수 있습니다.

또 다른 유용한 문자열 조작 함수는 CONCAT입니다. 이 함수는 텍스트 값을 포함하는 여러 인수를 받아 함께 넣습니다. 단일 열에 결합된 책 저자와 제목을 검색해 보십시오. 이렇게 하려면 다음 문을 실행합니다.

  1. SELECT CONCAT(author, ': ', title) AS full_title FROM inventory;

이 문은 다음 출력을 반환합니다.

Output
+------------------------------------------------+ | full_title | +------------------------------------------------+ | Oscar Wilde: The Picture of Dorian Gray | | Jane Austen: Pride and Prejudice | | Herbert George Wells: The Time Machine | | Mary Shelley: Frankenstein | | Mark Twain: The Adventures of Huckleberry Finn | +------------------------------------------------+ 5 rows in set (0.001 sec)

CONCAT 함수는 여러 문자열을 함께 연결했으며 세 개의 인수로 실행되었습니다. 첫 번째 author는 저자 이름을 포함하는 author 열을 참조합니다. 두 번째 : 는 저자와 책 제목을 콜론으로 구분하는 임의의 문자열 값입니다. 마지막 항목인 제목은 책 제목이 있는 열을 나타냅니다.

이 쿼리의 결과에서 저자와 제목은 데이터베이스 엔진에 의해 직접 연결된 full_title이라는 단일 임시 열에 반환됩니다.

MySQL에 내장된 다른 문자열 함수에는 문자열 검색 및 바꾸기, 하위 문자열 검색, 문자열 값 패딩 및 트리밍, 정규식 적용 등을 위한 함수가 포함됩니다. MySQL 설명서의 문자열 함수 및 연산자에서 여러 값을 연결하기 위해 SQL 함수를 사용하는 방법에 대해 자세히 알아볼 수 있습니다.

다음 섹션에서는 SQL 함수를 사용하여 데이터베이스에서 날짜를 조작합니다.

날짜 및 시간 함수 사용

SQL의 날짜 및 시간 함수를 사용하면 SQL 쿼리를 처리할 때 날짜 및 타임스탬프가 있는 열에 저장된 값을 조작할 수 있습니다. 날짜 정보의 일부를 추출하거나, 날짜 산술을 수행하거나, 날짜 및 타임스탬프를 필요한 출력 형식으로 형식화하는 데 사용할 수 있습니다.

출력에 단일 날짜 열이 있는 대신 책 소개 날짜를 연도, 월, 일로 별도로 분할해야 한다고 가정해 보겠습니다.

다음 명령문을 실행해 보십시오.

  1. SELECT introduction_date, YEAR(introduction_date) as year, MONTH(introduction_date) as month, DAY(introduction_date) as day FROM inventory;

다음 출력을 받게 됩니다.

Output
+-------------------+------+-------+------+ | introduction_date | year | month | day | +-------------------+------+-------+------+ | 2022-10-01 | 2022 | 10 | 1 | | 2022-10-04 | 2022 | 10 | 4 | | 2022-09-23 | 2022 | 9 | 23 | | 2022-07-23 | 2022 | 7 | 23 | | 2022-10-01 | 2022 | 10 | 1 | +-------------------+------+-------+------+ 5 rows in set (0.000 sec)

이 SQL 문은 YEAR, MONTHDAY의 세 가지 개별 함수를 사용했습니다. 각 함수는 날짜가 저장된 열 이름을 인수로 사용하고 전체 날짜의 한 부분(각각 연도, 월 또는 일)만 추출합니다. 이러한 함수를 사용하여 SQL 쿼리 내의 개별 날짜 조각에 액세스할 수 있습니다.

또 다른 유용한 날짜 조작 기능은 DATEDIFF로, 두 날짜 사이의 일 수를 검색할 수 있습니다. 이제 각 책의 소개 날짜와 현재 날짜 사이에 몇 일이 경과했는지 확인해보세요.

다음 쿼리를 실행합니다.

  1. SELECT introduction_date, DATEDIFF(introduction_date, CURRENT_DATE()) AS days_since FROM inventory;

다음 출력이 화면에 인쇄됩니다.

Output
+-------------------+------------+ | introduction_date | days_since | +-------------------+------------+ | 2022-10-01 | -30 | | 2022-10-04 | -27 | | 2022-09-23 | -38 | | 2022-07-23 | -100 | | 2022-10-01 | -30 | +-------------------+------------+ 5 rows in set (0.000 sec)

DATEDIFF 함수는 시작 날짜와 종료 날짜라는 두 가지 인수를 사용합니다. DATEDIFF 함수는 이 두 시점을 구분하는 일 수를 계산합니다. 종료 날짜가 더 이른 경우 결과는 음수가 될 수 있습니다. 이 예에서 첫 번째 인수는 introduction_date 열 이름으로 inventory 테이블의 날짜를 포함합니다. 두 번째 인수는 현재 시스템 날짜를 나타내는 다른 함수인 CURRENT_DATE입니다. 이 쿼리를 실행하면 이 두 시점 사이의 일 수를 검색하고 결과를 days_since 임시 열에 넣습니다.

참고: DATEDIFF는 공식 SQL 표준 함수 세트의 일부가 아닙니다. 많은 데이터베이스가 이 기능을 지원하지만 데이터베이스 엔진마다 구문이 다른 경우가 많습니다. 이 예제는 MySQL 고유의 구문을 따릅니다.

MySQL에 내장된 다른 날짜 조작 기능에는 날짜 및 시간 간격 추가 및 빼기, 다른 언어 형식에 대한 날짜 형식 지정, 요일 및 월 이름 검색 또는 새 날짜 값 생성이 포함됩니다. MySQL 설명서의 날짜 및 시간 함수에서 SQL의 날짜 작업에 대해 자세히 알아볼 수 있습니다.

다음 섹션에서는 집계 함수를 사용하는 방법을 배웁니다.

집계 함수 사용

이전의 모든 예에서는 SQL 함수를 사용하여 서점의 책을 나타내는 단일 행 내의 개별 열 값에 변환 또는 계산을 적용했습니다. SQL은 전체 데이터 집합에 대한 집계 정보를 찾는 데 도움이 되도록 여러 행에서 수학적 계산을 수행하는 방법을 제공합니다.

SQL의 기본 집계 함수에는 다음이 포함됩니다.

  • AVG는 계산이 수행되는 값의 평균입니다.
  • COUNT는 계산이 수행되는 값의 수입니다.
  • MAX는 최대값입니다.
  • MIN은 최소값입니다.
  • SUM은 모든 값의 합계입니다.

SELECT 쿼리에 여러 집계 함수를 통합할 수 있습니다. 서점에 등록된 책의 수, 사용 가능한 책의 최대 가격 및 전체 카탈로그의 평균 가격을 확인한다고 상상해 보십시오. 그렇게 하려면 다음 명령문을 실행하십시오.

  1. SELECT COUNT(title) AS count, MAX(price) AS max_price, AVG(price) AS avg_price FROM inventory;

이 문은 다음 출력을 반환합니다.

Output
+-------+-----------+-----------+ | count | max_price | avg_price | +-------+-----------+-----------+ | 5 | 42.13 | 25.106000 | +-------+-----------+-----------+ 1 row in set (0.001 sec)

위의 쿼리는 동시에 세 개의 집계 함수를 사용합니다. COUNT 함수는 쿼리가 조회하는 행 수를 계산합니다. 이 예에서는 제목이 인수로 전달되지만 확인된 모든 열에 대해 행 수가 동일하므로 다른 열 이름을 함수의 인수로 사용할 수도 있습니다. MAX 함수는 price 열에서 최대값을 계산합니다. 여기서 계산은 해당 열의 값에서 수행되므로 열 이름이 중요합니다. 마지막 함수는 가격 열의 모든 가격에 대한 평균을 계산하는 AVG 함수입니다.

이러한 방식으로 집계 함수를 사용하면 데이터베이스에서 집계 계산 값을 나타내는 임시 열이 있는 단일 행을 반환하게 됩니다. 소스 행은 내부적으로 계산에 사용되지만 쿼리를 통해 반환되지 않습니다. 이 예에서는 집계 함수를 사용하여 요약을 위해 모든 행을 고려하여 전체 인벤토리 테이블의 통계 값을 한 번에 계산했습니다.

SQL을 사용하면 테이블의 행을 그룹으로 나눈 다음 해당 그룹에 대한 집계 값을 개별적으로 계산할 수도 있습니다. 예를 들어, 다른 저자가 쓴 책의 평균 가격을 계산하여 어떤 저자가 가장 비싼 책을 출판했는지 알아낼 수 있습니다. SQL 자습서에서 수식 및 집계 함수를 사용하는 방법에서 이러한 계산을 위해 행을 그룹화하는 방법에 대해 자세히 알아볼 수 있습니다.

결론

이 가이드를 따라 SQL 함수가 무엇이고 함수를 사용하여 숫자, 문자열 및 날짜를 조작하는 데 사용하는 방법을 배웠습니다. ROUND를 사용하여 숫자 값을 반올림하고, CONCAT를 사용하여 여러 열을 하나로 연결하고, DATEDIFF를 사용하여 두 지점 사이의 일수를 계산했습니다. 시간. 마지막으로 COUNT, SUM 또는 AVG와 같은 집계 함수를 사용하여 여러 행에 대한 요약을 생성했습니다.

함수를 사용하여 일부 데이터 조작 및 계산을 데이터베이스 엔진으로 오프로드할 수 있습니다. 이 자습서에서는 해당 용도로 함수를 사용하는 기본 사항만 다루었습니다. 강력한 방식으로 데이터를 검색하고 분석하기 위해 SQL에서 GROUP BY 및 ORDER BY를 사용하는 방법을 사용하여 함수를 조건부 쿼리와 결합할 수 있습니다.

여기에 표시된 명령은 대부분의 관계형 데이터베이스에서 작동하지만 모든 SQL 데이터베이스는 고유한 언어 구현을 사용합니다. 각 명령과 해당 옵션의 전체 세트에 대한 전체 설명은 DBMS의 공식 문서를 참조해야 합니다.

SQL 언어와 작업에 대한 다양한 개념에 대해 자세히 알아보려면 SQL 사용 방법 시리즈의 다른 가이드를 확인하는 것이 좋습니다.