函数

Mysql的函数特性没有SQL可移植性强。

大多数情况下支持的函数:

处理文本串的函数:

RTrim():处理列值右边的空格

LTrim():处理列值左边的空格

Trim():处理列值的左右两边的空格(中间的不处理)

Upper():文本转大写

Length():返回串的长度

Locate():找出串的一个子串

Lower():文本转小写

...

算术操作函数:

包含一些常见的数值处理函数如:

Abs()取绝对值;

Mod()返回除操作的余数;

Pi()返回圆周率;

Rand();返回一个随机数;

Exp()返回一个数的指数值;

处理日期和时间的函数:

列举常用的几个:

CurDate() 返回当前日期;

CurTime()返回当前时间;

Date()返回日期时间的日期部分

Date_Format()返回一个格式化的日期或时间

Time()返回一个日期时间的时间部分

...

查询订单表中,发生于2005-09-01日的订单的有关信息:

select cust_id, order_num fromorderswhere date(order_date) = '2005-09-01';

获取系统信息的系统函数:

暂略

聚集函数:

部分对表中数据进行汇总(不对实际数据本身感兴趣)的函数。

AVG()返回某列的平均值;

COUNT()返回某列的行数(查询的结果数);

MAX()返回某列的最大值;

MIN()返回某列的最小值;

SUM()返回某列的值的和:

查看产品表所有产品的平均价格:

select avg(prod_price) asavg_pricefrom products;

AVG()值为NULL的行会被忽略;

查询在本店由邮箱地址的客户总数。

select count(cust_email) from customers;

count()同样会忽略NULL值,所以没有统计到没留email的客户;如果要统计所有客户可以使用count(*)

聚集函数都会忽略NULL值。

分组

group by :让查询结果按指定列的值排序并给每个列值分组,聚集函数将会作用于组而不是原来的结果集

查询产品表中,每个供应商提供的产品数:

select vend_id, count(*) asnum_prodfromproductsgroup by vend_id WITH ROLLUP;

with rollup 将返回每个分组汇总的值,这里得到的所有供应商提供的产品总数。

查询每个顾客下的订单数量,只展示3单以上的顾客

select cust_id, count(*)fromcustomersgroup bycust_idhaving count(*) > 2;

having 关键字能对分组的结果再进行筛选(可以理解成where再数据分组前筛选,having在数据分组后再次筛选)

查询订单表中表号在20000以后,所有总价大于50的订单,按总价的增序排列:

select order_num, sum(quantity*item_price) as sum_price fromorderitemswhere order_num > 20000

group byorder_numhaving sum_price > 50

order by sum_price;

子查询

嵌套在其他查询中的查询,子查询在性能上并不占优势。

查找购买过TNT2商品的客户:

1.查询TNT2商品售出记录的订单号

2.由订单号查询客户id

3.由客户id查询客户信息

selectcust_name, cust_contactfromcustomerswhere cust_id in (selectcust_idfromorderswhere order_num in (selectorder_numfromorderitemswhere prod_id = 'TNT2'));

联合查询

内部联合:基于两个表之间的相等测试联结,也叫等值联结。

查看每个供应商提供的产品的价格

selectvend_name, prod_name, prod_pricefrom vendors inner joinproductson vendors.vend_id = products.vend_id;

外部联合,联合时允许保留没有对应关联行的那些行。其中:LEFT|RIGHT OUTER JOIN 保留关键字左|右边的表所有行,另一边的表如果没有匹配到改行对应的行则补上NULL.

检索所有用户,已有订单的检索其订单:

selectcustomers.cust_id, order_numfrom customers left outer joinorderson customers.cust_id = orders.cust_id;

组合查询

UNION关键字,UNION ALL 表示不删除两次查询结果中相同的行

mysql 分组联合查询_【MySQL】-2 函数、分组、子查询、联合查询相关推荐

  1. vlookup反向查询_【Excel 函数】Vlookup 正反向查询

    函数Vlookup是日常工作中常见的函数. 它的本职工作是帮助你查询(返回)所需要的一个或者多个值. [注意事项与适用范围] 以单靠Vlookup函数为例,对数据区域有一定的要求 1.数据区域内不能出 ...

  2. mysql 二进制日志查看_使用mysqlbinlog从二进制日志文件中查询mysql执行过的sql语句 (原)...

    前提 MySQL开启了binlog日志 操作 1. 查看MySQL是否开启binlog(进mysql操作) mysql> show variables like 'log_bin%'; 2. 查 ...

  3. 如何linux查看mysql目录下日志_测试人员如何在linux服务器中查询mysql日志?

    测试工程师在测试软件的过程中,流程往往是先接口测试,接着就是功能性测试.在做功能性测试的时候,往往有这么一个工作场景,就是出现错误后,我们怎么快速排除数据库报错. 举例某个电商网站,当我们文本框中输入 ...

  4. 微信小程序mysql查询_微信小程序云开发数据库操作查询记录

    官方文档解读: 查询记录 1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onQuery 方法 2. 把注释掉的代码解除注释,onQuery 方法会 ...

  5. mysql运维技巧_​mysql初级运维使用技巧

    整理了一下,工作中用到的最高的关于mysql的一些命令和使用技巧,分享给刚接触mysql的小伙伴么. 1mysql最基础 1.1mysql安装 建议新人安装mysql直接使用yum安装即可,大牛们已经 ...

  6. mybatis一对多关联查询_一对一,一对多,多对多查询及延迟加载(N+1问题)分析

    推荐学习 重识SSM,"超高频面试点+源码解析+实战PDF",一次性干掉全拿走 全网独家的"MySQL高级知识"集合,骨灰级收藏,手慢则无 "吃&qu ...

  7. mongodb模糊查询_我叫Mongo,收了「查询基础篇」,值得你拥有

    这是mongo第二篇「查询基础篇」,后续会连续更新6篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上一篇基础篇的介 ...

  8. 小程序 模糊查询_[轻应用小程序]如何使用信息查询功能?

    本文内容结构如下图 一.查询功能是什么?有什么作用? 对于企业,会有一些和自身业务相关的数据,需要给到客户提供"查询信息"或"查询缴费"服务. 查询信息: 学校 ...

  9. mysql 分组字符串链接_MySQL字符串连接函数 ,分组连接函数

    MySQL中 concat 函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二 ...

  10. mysql多条件查询_使用dsum轻松搞定多条件查询,学会它,再也想用sumifs了

    在excel中条件求和想必大家都不陌生,这个可以说是我们工作中经常遇到的问题,常见的条件求和函数有sumif以及sumifs,但是还有一个更加强但知道的人却非常少的函数,他就是dsum函数,dsum相 ...

最新文章

  1. 计算机网页基础课专业,关于《计算机应用基础》课程网页下的学习资源使用说明....
  2. stm32使用 ST-LINK Utility量产,程序读保护、写保护
  3. 聚焦和增强卷积神经网络
  4. 【沟通的艺术】你能勾住你的听众么?
  5. DotNet中配置文件的使用(一)
  6. 从一个Android码农视角回顾2018GDD大会
  7. 创建vue项目(四)路由相关知识、路由守卫、插槽、打包小细节
  8. 固件是通用的吗_如何升级AirPods固件?
  9. vue多页面开发_使用VUE进行移动端H5页面开发前准备
  10. 通用算法(ML,DL)分类判定指标:召回率 Recall、精确度Precision、准确率Accuracy等
  11. 2021上交应用统计考研经验贴(初试)
  12. GitHub中国区前100名到底是什么样的人?
  13. Gerrit项目权限设置总结
  14. 总结(CFAI,AWB,Denoise2D,Sharpen)
  15. 数据分析之Hadoop详解
  16. Postfix邮箱部署
  17. 《分布式JAVA应用 基础与实践》 第六章 构建高可用的系统
  18. 小程序canvas文字信息绘制图片,模拟器正常保存图片,真机无法保存图片报错downloadFile:fail downloadFile protocol must be http or https
  19. 亲测无限坐席在线客服系统源码,基于ThinkPHP的一款在线客服系统源码
  20. 抖音无水印解析网站精美源码-无需数据库 安装

热门文章

  1. Webots平台下NAO机器人仿真环境的搭建
  2. [Unity实战]一个简单的unity手写摇杆[入门级][手写demo][开箱可用]
  3. SpringBoot文件上传下载以及优化过程 -- 个人笔记
  4. 项目review会议的步骤_8个步骤,使您的下一次会议更有效率
  5. 无需任何费用的手机GPS定位
  6. 个人云电脑搭建经验分享
  7. Visual Studio2017常用快快捷键
  8. ZOJ3963 【gay gay 的贪心】
  9. Model-Reuse Attacks on Deep Learning Systems
  10. 计算机工程师对社会报答什么,报答