天天看点

SQL函数1.AVG() 函数2. COUNT() 函数3.FIRST() 函数4.LAST() 函数5.MAX() 函数6.MIN() 函数7.SUM() 函数8.GROUP BY 语句9.HAVING 子句10.EXISTS 运算符11.UCASE() 函数12.LCASE() 函数13.MID() 函数14.LEN() 函数15.ROUND() 函数16.NOW() 函数17.FORMAT() 函数

score_db 表:

SQL函数1.AVG() 函数2. COUNT() 函数3.FIRST() 函数4.LAST() 函数5.MAX() 函数6.MIN() 函数7.SUM() 函数8.GROUP BY 语句9.HAVING 子句10.EXISTS 运算符11.UCASE() 函数12.LCASE() 函数13.MID() 函数14.LEN() 函数15.ROUND() 函数16.NOW() 函数17.FORMAT() 函数

score_db

student_db表:

SQL函数1.AVG() 函数2. COUNT() 函数3.FIRST() 函数4.LAST() 函数5.MAX() 函数6.MIN() 函数7.SUM() 函数8.GROUP BY 语句9.HAVING 子句10.EXISTS 运算符11.UCASE() 函数12.LCASE() 函数13.MID() 函数14.LEN() 函数15.ROUND() 函数16.NOW() 函数17.FORMAT() 函数

1.AVG() 函数

AVG() 函数返回数值列的平均值。

获取scoer_db 中 score的平均值

SELECT AVG(score) AS 平均分数 FROM score_db;           

复制

2. COUNT() 函数

COUNT() 函数返回匹配指定条件的行数。

获取学生表的总人数

SELECT count(name) as 学生总人数 FROM student_db;           

复制

3.FIRST() 函数

FIRST() 函数返回指定的列中第一个记录的值。

获取学生表第一个学生的名字

SELECT name AS Firststudent FROM student_db LIMIT 1;           

复制

4.LAST() 函数

LAST() 函数返回指定的列中最后一个记录的值。

获取最后一个学生的名字

SELECT name FROM student_db ORDER BY id DESC LIMIT 1;           

复制

5.MAX() 函数

MAX() 函数返回指定列的最大值。

获取学生表中学生的最大年龄

SELECT MAX(age) AS 最大年龄 FROM student_db;           

复制

6.MIN() 函数

MIN() 函数返回指定列的最小值。

获取学生表中学生的最小年龄

SELECT MIN(age) AS 最小年龄 FROM student_db;           

复制

7.SUM() 函数

SUM() 函数返回数值列的总数。

获取分数表的总分数

SELECT SUM(score) AS 总分数 FROM score_db;           

复制

8.GROUP BY 语句

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

分组统计学生国家的数量

SELECT country,COUNT(country) FROM student_db GROUP BY country;           

复制

9.HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。

HAVING 子句可以让我们筛选分组后的各组数据。

筛选出成绩小于80的学生

SELECT student_db.name, student_db.sex, score_db.score FROM (score_db
INNER JOIN student_db 
ON score_db.sid=student_db.id)
HAVING score_db.score < 80;           

复制

10.EXISTS 运算符

EXISTS 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。

判断是否有分数大于90分的学生

SELECT student_db.name, student_db.sex
FROM student_db 
WHERE EXISTS (SELECT score FROM score_db WHERE student_db.id = score_db.sid AND score > 90);           

复制

11.UCASE() 函数

UCASE() 函数把字段的值转换为大写。

学生表插入一条数据

INSERT INTO student_db VALUES (8, 'qwer', 18, '男', '东京', 'JA');           

复制

把新增学生的名字变为大写

SELECT UCASE(name), age,sex,city FROM student_db;           

复制

12.LCASE() 函数

LCASE() 函数把字段的值转换为小写。

把新增学生的名字重新变为小写

SELECT LCASE(name), age,sex,city FROM student_db;           

复制

13.MID() 函数

MID() 函数用于从文本字段中提取字符。

参数 描述
column_name 必需。要提取字符的字段。
start 必需。规定开始位置(起始值是 1)。
length 可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。

提取学生的姓

SELECT MID(name,1,1) AS 姓 FROM student_db;           

复制

14.LEN() 函数

LEN() 函数返回文本字段中值的长度。

获取城市名字的字符长度

SELECT name, LENGTH(city) as 城市名字长度 FROM student_db;           

复制

15.ROUND() 函数

ROUND() 函数用于把数值字段舍入为指定的小数位数。

SELECT ROUND(column_name,decimals) FROM table_name;           

复制

参数 描述
column_name 必需。要舍入的字段。
decimals 必需。规定要返回的小数位数。

ROUND(X):返回参数X的四舍五入的一个整数。

select ROUND(3.1415);           

复制

ROUND(X,D):返回参数X的四舍五入的有 D 位小数的一个数字。如果D为0,结果将没有小数点或小数部分。

select ROUND(3.1415,2);           

复制

16.NOW() 函数

NOW() 函数返回当前系统的日期和时间。

SELECT name, sex, Now() AS date FROM student_db;           

复制

17.FORMAT() 函数

FORMAT() 函数用于对字段的显示进行格式化。

SELECT FORMAT(column_name,format) FROM table_name;

参数 描述
column_name 必需。要格式化的字段。
format 必需。规定格式。
SELECT name, sex, DATE_FORMAT(Now(),'%Y-%m-%d') AS date FROM student_db;           

复制