MySql函数应用,分组排序,子查询学习笔记
来源:互联网 发布:初中网络教育 编辑:程序博客网 时间:2024/06/06 03:37
一、使用计算字段与别名
SELECT CONCAT(vend_name,' (',vend_country,')') as vend_title from vendors ORDER BY vend_name;
二、使用函数处理数据
1:文本处理函数
Left() 返回串左边的字符
Length() 返回串的长度
Locate() 找出串的一个子串
Lower() 将串转换为小写
LTrim() 去掉串左边的字符
Right() 返回串右边的字符
RTrim() 去掉串右边的字符
Soundex() 返回串的SOUNDEX值
SubString() 返回子串的字符
Upper() 将串转换为大写
SELECT cust_name,cust_contact from customers WHERE SOUNDEX(cust_contact)=SOUNDEX('Y Lie') ; 返回联系人发音类似于Y Lie的行;
2: 日期和时间处理函数
在MySql中首选的日期格式为yyyy-mm-dd.
下面语句检索出2005年9月下的所有订单.
1:SELECT * from orders WHERE DATE(order_date)BETWEEN '2005-09-01' and '2005-09-30';
2:SELECT * from orders WHERE YEAR(order_date)=2005 and MONTH(order_date)=9;
3:数值处理函数
4:聚集函数
三、分组数据
GROUP BY:
(1):GROUP BY子句可以包含任意数目的列.这使得能对分组进行嵌套,为数据分组提供更细致的控制;
(2):如果在GROUP BY子句中嵌套了分组,数据将在最后规定的分组上进行汇总,就是说在建立分组时,指定的所有列都一起计算,所以不能从个别的列中取回数据;
(3):GROUP BY子句中列出的每个列都必须是检索列或有效的表达式(但不能使聚集函数).如果在select中使用表达式,则必须在GROUP BY子句中指定相同的表 达式.不能使用别名.
(4):除聚集计算语句外,select语句中的每个列都必须在GROUP BY子句中给出;
(5):GROUP BY子句必须出现在where子句之后,order by子句之前
(6):使用 with rollup关键字,可以得到每个分组以及每个分组汇总级别的值
HAVING过滤分组:
1: having支持所有where操作符
2:where在数据分组前进行过滤,HAVING在数据分组后进行过滤。
实例:检索总计订单价格大于等于50的订单的订单号和总计订单价格,并排序。
SELECT order_num,SUM(quantity*item_price) as ordertotal from orderitems GROUP BY order_num HAVING SUM(quantity*item_price)>=50 ORDER BY ordertotal;
四:子查询
1:使用嵌套
SELECT cust_name,cust_contact from customers WHERE cust_id in(SELECT cust_id from orders where order_num in(SELECT order_num from orderitems WHERE prod_id='TNT2'))
2:作为计算字段使用子查询
SELECT cust_name,cust_state,
(SELECT count(*) from orders where orders.cust_id=customers.cust_id)
AS orders
from customers ORDER BY cust_name;
- MySql函数应用,分组排序,子查询学习笔记
- Mysql必知必会(笔记)【分组函数,子查询, 联结,高级联结,组合查询】
- mysql分组排序查询
- mysql分组查询 排序
- mysql分组查询排序
- MYSQL学习笔记----子查询
- MySQL必知必会笔记(三)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL必知必会笔记(二)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL必知必会笔记(三)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- MySQL必知必会笔记(二)SELECT语句 计算字段 数据处理函数 汇总函数 分组数据 子查询
- sql --- 子查询+分组函数
- Oracle学习笔记2—分组/子查询
- Oracle基本语法&&函数&&子查询&&分页查询&&排序&&集合操作&&高级分组函数
- Oracle基本语法&&函数&&子查询&&分页查询&&排序&&集合操作&&高级分组函数
- MySQL——分组查询子查询
- MYSQL子查询和分组查询
- mysql排序查询,多条件排序查询,聚合函数的使用,分组统计查询,
- MySQL数据库学习06-查询数据:排序和分组
- Java回炉重造(七)使用Apache Commons Math创建向量
- 算法面试题:逆时针打印二叉树外围边缘
- C#——主进程负责向屏幕不间断输出四位随机数,子线程负责每隔 1 秒钟对当前计算机屏幕进行截屏并以 jpg 格式的图片保存文件。
- ES02--索引mapping的写入、查看与修改
- webstorm入门5-sass、scss、less监听编译
- MySql函数应用,分组排序,子查询学习笔记
- day11 eclise使用
- 逃跑按钮
- 多线程实现电梯程序——Map+Queue
- Oracle的子查询和集合运算
- SDUT-1132 C/C++经典程序训练2---斐波那契数列
- php 面向对象杂事儿
- 你为什么总过不了英语四六级?
- 图形的保存和重绘