MySQL学习

SQL学习:

一、什么是聚合函数?

1、聚合函数定义

:SQL基本函数,聚合函数对一组值执行计算,并返回单个值,也被称为组函数。 聚合函数经常与 SELECT 语句的 GROUP BY 子句的HAVING一同使用。

2、常见的聚合函数有哪些?

COUNT()

SELECT COUNT(*)		#返回book表中总记录数
FROM book

SELECT COUNT(1)		#返回book表中总记录数
FROM book

SELECT COUNT(name)	# 返回name字段不为空的总条数
FROM book

AVG()

SELECT AVG(age) AS '平均值',COUNT(name) AS '总数'
FROM student

MAX()、MIN()

SELECT 
	MAX(age)  AS '最大值',
	MIN(age) AS '最小值',
	AVG(age) AS '平均值',
	COUNT(*) AS '总条数'
FROM student

SUM()


SELECT 
	MAX(age)  AS '最大值',
	MIN(age) AS '最小值',
	AVG(age) AS '平均值',
	COUNT(*) AS '总条数',
	SUM(age) AS '总数'
FROM student

二、常见函数有哪些?

1、日期:

-- 返回当前系统时间
SELECT NOW()
-- 获取当前日期
SELECT curdate();
-- 获取当前时间
SELECT CURRENT_TIME();
-- 获取时间戳
SELECT CURRENT_TIMESTAMP();

2、数据:

-- 绝对值
SELECT ABS(-8); 
-- 向上取整
SELECT CEILING(9.4); 
-- 向下取整
SELECT FLOOR(9.4);
-- 随机数,返回一个0-1之间的随机数
SELECT RAND();
-- 符号函数: 负数返回-1,正数返回1,0返回0
SELECT SIGN(0); 

SELECT CEILING(RAND()*1000);

3、字符串类:

-- 返回字符串包含的字符数
SELECT CHAR_LENGTH('坚持就能成功');
-- 合并字符串,参数可以有多个
SELECT CONCAT('我','爱','程序'); 
-- 替换字符串,从某个位置开始替 换某个长度
SELECT INSERT('我爱编程helloworld',1,2,'超级热爱'); 
-- 小写
SELECT LOWER('Lynn'); 
-- 大写
SELECT UPPER('Lynn'); 
-- 从左边截取
SELECT LEFT('hello,world',5); 
-- 从右边截取
SELECT RIGHT('hello,world',6); 
-- 替换字符串
SELECT REPLACE('Lynn说坚持就能成功','坚持','努力'); 
-- 截取字符串,开始和长度
SELECT SUBSTR('Lynn说坚持就能成功',4,6); 
-- 反转
SELECT REVERSE('Lynn说坚持就能成功');  

三、嵌套查询

什么是嵌套查询?

嵌套查询定义:嵌套查询是指在一个外层查询中包含有另一个内层查询。其中外层查询称为主查询,内层查询称为子查询。SQL允许多层嵌套,由内而外地进行分析,子查询的结果作为主查询的查询条件。子查询中一般不使用order by子句,只能对最终查询结果进行排序。

练习:

SELECT 
	CEILING(AVG(jack_table.age)) AS '年龄',
	SUM(jack_table.age) AS '总数',
	MIN(jack_table.age) AS '最小年龄',
	MAX(jack_table.age) AS '最大年龄',
	COUNT(jack_table.age) AS '总条数'
FROM (
	SELECT 
		id AS ID,
		name AS NAME,
		age AS AGE
	FROM student
	WHERE name = 'JACK'
) AS jack_table

上一篇:跟着老猫来搞GO,“面向对象“


下一篇:HashSet机制说明与模拟