SQL 基础函数学习

本文深入探讨了SQL中的各种函数,包括聚合函数如AVG(), COUNT(), MAX(), MIN(), SUM(),以及Scalar函数如UCASE(), LCASE(), MID(), LEN(), ROUND()等。还详细介绍了GROUP BY和HAVING子句,以及EXISTS运算符的用法,帮助理解SQL中数据的计算和处理。" 133236926,19694862,MyEclipse中实现Hibernate逆向工程的详细步骤,"['myeclipse', 'hibernate', 'ide', '编程', '数据库开发']
摘要由CSDN通过智能技术生成

函数

SQL 拥有很多可用于计数和计算的内建函数。

SQL Aggregate 函数

SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
有用的 Aggregate 函数:

  • AVG() - 返回平均值
  • COUNT() - 返回行数
  • FIRST() - 返回第一个记录的值
  • LAST() - 返回最后一个记录的值
  • MAX() - 返回最大值
  • MIN() - 返回最小值
  • SUM() - 返回总和

SQL Scalar 函数

SQL Scalar 函数基于输入值,返回一个单一的值。
有用的 Scalar 函数:

  • UC ASE() - 将某个字段转换为大写
  • LCASE() - 将某个字段转化为小写
  • MID() - 从某个文本字段提取字符,MySQL中使用
  • SubString(字段,1,end) - 从某个文本字段提取字符
  • LEN() - 返回某个文本字段的长度
  • ROUND() - 对某个数值字段进行指定小数位数的四舍五入
  • NOW() - 返回当前的系统日期和时间
  • FORMAT() - 格式化某个字段的显示方式

SQL AVG() 函数

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

SQL AVG() 语法

SELECT AVG(column_name) 
FROM table_name

SQL AVG() 实例

下面的 SQL 语句从 “access_log” 表的 “count” 列获取平均值:

SELECT AVG(count) AS CountAverage 
FROM access_log;

输出结果:SQL AVG() 实例
下面的 SQL 语句选择访问量高于平均访问量的 “site_id” 和 “count”:

SELECT site_id,count 
FROM access_log
WHERE count > (SELECT AVG(count) FROM access_log);

输出结果:SQL AVG() 实例

SQL COUNT() 函数

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

SQL COUNT(column_name) 语法

COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):SELECT COUNT(column_name) FROM table_name;

SQL COUNT(*) 语法

COUNT(*) 函数返回表中的记录数:SELECT COUNT(*) FROM table_name;

SQL COUNT(DISTINCT column_name) 语法

COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:SELECT COUNT(DISTINCT column_name) FROM table_name;
注释: COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。

SQL COUNT(column_name) 实例

SELECT COUNT(count) 
FROM access_log
WHERE site_id=3;

输出结果:SQL COUNT(column_name) 实例

SQL COUNT(*) 实例

下面的 SQL 语句计算 “access_log” 表中总记录数:

SELECT COUNT(*) AS num
FROM access_log;

输出结果:SQL COUNT(*) 实例

SQL COUNT(DISTINCT column_name) 实例

下面的 SQL 语句计算 “access_log” 表中不同 site_id 的记录数:

SELECT COUNT(DISTINCT site_id) AS nums 
FROM access_log;

输出结果:
SQL COUNT(DISTINCT column_name) 实例

SQL FIRST() 函数

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

SQL FIRST() 语法

SELECT FIRST(column_name) 
FROM table_name;

注: 只有 MS Access 支持 FIRST() 函数。

SQL Server 语法

SELECT TOP 1 column_name 
FROM table_name
ORDER BY column_name ASC;
SQL Server 实例
SELECT TOP 1 name 
FROM Websites
ORDER BY id ASC;

MySQL 语法

SELECT column_name 
FROM table_name
ORDER BY column_name ASC
LIMIT 1;
MySQL 实例

下面的 SQL 语句选取 “Websites” 表的 “name” 列中第一个记录的值:

SELECT name 
FROM websites
ORDER BY id ASC
LIMIT 1;

输出结果:
MySQL 实例

Oracle 语法

SELECT column_name 
FROM table_name
ORDER BY column_name ASC
WHERE ROWNUM <=1;
Oracle 实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值