SQL 函数学习笔记

1. 概述

函数是SQL中一个非常有用的工具,它可以让我们更加方便地处理数据。SQL中有很多内置的函数,例如聚合函数、字符串函数等等。同时,我们也可以自定义函数以满足我们特定的需求。

2. 聚合函数

聚合函数用于对数据进行汇总统计。SQL中常见的聚合函数包括COUNT、SUM、AVG、MAX、MIN等。

2.1 COUNT函数

COUNT函数用于统计某个表或者某个列中的行数。

2.1.1 语法

Copy Code
SELECT COUNT(column_name) FROM table_name;

2.1.2 实例

假设有如下student表:

id name age
1 Tom 18
2 Jack 20
3 Mary 19

要统计该表中的行数,可以使用以下SQL语句:

Copy Code
SELECT COUNT(*) FROM student;

执行该语句后,会返回如下结果:

Copy Code
COUNT(*) ------- 3

2.2 SUM函数

SUM函数用于计算某个列的数值之和。

2.2.1 语法

Copy Code
SELECT SUM(column_name) FROM table_name;

2.2.2 实例

假设有如下score表:

id subject score
1 Maths 80
2 English 90
3 Maths 85

要计算该表中Maths科目的总分数,可以使用以下SQL语句:

Copy Code
SELECT SUM(score) FROM score WHERE subject = 'Maths';

执行该语句后,会返回如下结果:

Copy Code
SUM(score) ---------- 165

2.3 AVG函数

AVG函数用于计算某个列的平均值。

2.3.1 语法

Copy Code
SELECT AVG(column_name) FROM table_name;

2.3.2 实例

假设有如下salary表:

id name salary
1 Tom 5000
2 Jack 6000
3 Mary 7000

要计算该表中薪水的平均值,可以使用以下SQL语句:

Copy Code
SELECT AVG(salary) FROM salary;

执行该语句后,会返回如下结果:

Copy Code
AVG(salary) ----------- 6000

3. 字符串函数

字符串函数用于对字符串进行相关的操作,例如截取、替换等。

3.1 LEFT函数

LEFT函数用于从左边开始截取字符串。

3.1.1 语法

Copy Code
SELECT LEFT(string, length) FROM table_name;

3.1.2 实例

假设有如下name表:

id name
1 Zhangsan
2 Lisi
3 Wangwu

要截取该表中所有姓名的前两个字母,可以使用以下SQL语句:

Copy Code
SELECT LEFT(name, 2) FROM name;

执行该语句后,会返回如下结果:

Copy Code
LEFT(name, 2) ------------- Zh Li Wa

3.2 REPLACE函数

REPLACE函数用于将字符串中的某个子字符串替换为另一个字符串。

3.2.1 语法

Copy Code
SELECT REPLACE(string, old_value, new_value) FROM table_name;

3.2.2 实例

假设有如下phone表:

id phone
1 13812345678
2 13987654321
3 13698765432

要将该表中所有手机号的前三位替换为‘***’,可以使用以下SQL语句:

Copy Code
SELECT REPLACE(phone, LEFT(phone, 3), '***') FROM phone;

执行该语句后,会返回如下结果:

Copy Code
REPLACE(phone, LEFT(phone, 3), '***') ------------------------------------- ***12345678 ***87654321 ***98765432

以上是SQL函数的一些常见用法,更多细节内容需要根据具体情况查阅文档。