跳到主要内容

SQL 函数概览

SQL(结构化查询语言)是用于管理和操作关系型数据库的标准语言。SQL函数是SQL语言中非常重要的一部分,它们用于对数据进行处理和计算。通过使用SQL函数,我们可以简化查询、提高效率,并实现复杂的逻辑。

什么是SQL函数?

SQL函数是预定义的操作,用于对数据进行处理并返回结果。它们可以接受一个或多个输入值(称为参数),并返回一个输出值。SQL函数通常用于查询中,以对数据进行格式化、计算或转换。

SQL函数可以分为以下几类:

  1. 标量函数:对单个值进行操作,并返回单个值。
  2. 聚合函数:对一组值进行操作,并返回单个汇总值。
  3. 窗口函数:对一组行进行操作,并返回与每行相关的值。

标量函数

标量函数是最常见的SQL函数类型。它们对单个值进行操作,并返回单个值。以下是一些常用的标量函数:

1. 字符串函数

  • LENGTH(string):返回字符串的长度。
  • UPPER(string):将字符串转换为大写。
  • LOWER(string):将字符串转换为小写。
  • SUBSTRING(string, start, length):从字符串中提取子字符串。

示例:

sql
SELECT UPPER('hello') AS upper_case;

输出:

UPPER_CASE
----------
HELLO

2. 数值函数

  • ROUND(number, decimals):将数字四舍五入到指定的小数位数。
  • ABS(number):返回数字的绝对值。
  • CEIL(number):返回大于或等于数字的最小整数。
  • FLOOR(number):返回小于或等于数字的最大整数。

示例:

sql
SELECT ROUND(3.14159, 2) AS rounded_number;

输出:

ROUNDED_NUMBER
--------------
3.14

3. 日期和时间函数

  • NOW():返回当前日期和时间。
  • DATE(date):提取日期部分。
  • YEAR(date):提取年份部分。
  • MONTH(date):提取月份部分。

示例:

sql
SELECT YEAR(NOW()) AS current_year;

输出:

CURRENT_YEAR
------------
2023

聚合函数

聚合函数用于对一组值进行计算,并返回单个汇总值。常见的聚合函数包括:

  • COUNT(column):返回行数。
  • SUM(column):返回列的总和。
  • AVG(column):返回列的平均值。
  • MIN(column):返回列的最小值。
  • MAX(column):返回列的最大值。

示例:

sql
SELECT AVG(salary) AS average_salary FROM employees;

输出:

AVERAGE_SALARY
--------------
75000.00

窗口函数

窗口函数用于对一组行进行计算,并返回与每行相关的值。窗口函数通常与 OVER 子句一起使用,以定义窗口的范围。

示例:

sql
SELECT employee_id, salary, 
RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;

输出:

EMPLOYEE_ID | SALARY | RANK
------------|--------|-----
1 | 100000 | 1
2 | 90000 | 2
3 | 80000 | 3

实际案例

假设我们有一个 orders 表,其中包含以下数据:

sql
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
total_amount DECIMAL(10, 2)
);

我们可以使用SQL函数来计算每个客户的总订单金额,并按金额从高到低排序:

sql
SELECT customer_id, 
SUM(total_amount) AS total_spent
FROM orders
GROUP BY customer_id
ORDER BY total_spent DESC;

输出:

CUSTOMER_ID | TOTAL_SPENT
------------|------------
1 | 1500.00
2 | 1200.00
3 | 900.00

总结

SQL函数是SQL语言中非常强大的工具,它们可以帮助我们简化查询、提高效率,并实现复杂的逻辑。通过掌握标量函数、聚合函数和窗口函数,我们可以更好地处理和分析数据库中的数据。

附加资源

提示

建议初学者通过实际练习来巩固所学的SQL函数知识。可以尝试在本地数据库或在线SQL练习平台上进行练习。