学习《MySQL必知必会》笔记二(第10章-13章)

一、创建计算字段
1、拼接
SELECT CONCAT(vend_name,' (',vend_country,')')
FROM vendors
ORDER BY vend_name;
以上的SELECT语句连接以下4个元素:
☆存储在vend_name列中的名字
☆包含一个空格和一个左圆括号的串
☆存储在vend_country列中的国家
☆包含一个右圆括号的串
2、使用MySQL的RTRIM()去掉串右边的空格,LTRIM()去掉串左边的空格,TRIM()去掉串左右两边的空格
SELECT CONCAT(RTRIM(vend_name),' (',RTRIM(vend_country),')')
FROM vendors
ORDER BY vend_name;
3、使用别名
SELECT CONCAT(RTRIM(vend_name),' (',RTRIM(vend_country),')') AS vend_title
FROM vendors
ORDER BY vend_name;
二、使用数据处理函数
大多数SQL实现支持以下类型的函数:
□用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数
□用于在数值数据上进行算术操作(如返回绝对值,进行代数运算)的数值函数
□用于处理日期和时间值并从这些值中提取特定成分(例如,返回两个日期之差,检查日期有效性等)的日期和时间函数
□返回DBMS正使用的特殊信息(如返回用户登录信息,检查版本细节)的系统函数
1.文本处理函数

常用的文本处理函数

SOUNDEX是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。
例如customers表中有一个顾客Coyote Inc.,其联系名为Y.Lee,但如果这是输入错误,此联系名实际应该是Y.Lie。
SELECT cust_name,cust_contact
FROM customers
WHERE SOUNDEX(cust_contact)=SOUNDEX('Y.Lie');
2.日期和时间处理函数
常用日期和时间处理函数

SELECT cust_id,order_num
FROM orders
WHERE Date(order_date)BETWEEN'2005-09-01'AND'2005-09-30';
=SELECT cust_id,order_num
FROM orders
WHERE Year(order_date)=2005 AND Month(order_date)=9;
3.数值处理函数
常用数值处理函数

三、汇总数据
1.聚集函数
聚集函数运行在行组上,计算和返回单个值的函数。

①AVG()函数---可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。
例:使用AVG()返回products表中所有产品的平均价格:
SELECT AVG(prod_price)AS avg_price
FROM products
WHERE vend_id =1003;
②COUNT()函数

③MAX()/MIN()函数
④SUM()函数
SUM()可以用来返回指定列值的和,也可以用来合计计算值。

☆除了
不会忽略NULL值外这几个常用聚集函数都忽略列值为NULL的行。
2.聚集不同值
用DISTINCT关键字聚集不同值:

3.组合聚集函数
输入:

输出:

四、分组数据
1.创建分组
使用GROUP BY子句分组

另外,使用WITH ROLLUP关键字,可以得到每个分组以及每个分组汇总级别(针对每个分组)的值。例如:

输出:

2.过滤分组---HAVING子句
例如:

☆WHERE过滤行,Having过滤分组。

上面的例子,WHERE子句过滤所有prod_price至少为10的行,然后按vend_id分组数据,HAVING子句过滤计数为2或2以上的分组。
3.分组和排序---group by+order by
输入:

输出:

4.SELECT子句顺序(回顾)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.表中的任何列都可以作为主键, 只要它满足以下条件:任意两行都不具有相同的主键值;每一行都必须具有一个主键值( ...
    Cherryjs阅读 855评论 0 0
  • 数据库入门 数据库: 保存有组织的数据的容器(通常是一个文件或一组文件).数据库软件应该称为 DBMS(DataB...
    Mjericho阅读 607评论 0 0
  • 眨眼之间,已经不知过了多少个春秋…… 又是一年夏季。酒吞已经习惯了自己一人坐在缘侧自饮。想起茨木过了成人礼后两人坐...
    云中山鬼阅读 701评论 0 1
  • 最幸福的就是我了,难得的周六早晨一觉睡到自然醒已是快九点了,真真的好舒服呀,最近的自己越来越爱自己了,犯不着为那些...
    那一年的初夏阅读 146评论 0 0
  • 自八月初回来便百无聊赖,随着暑假的尾巴到来之际,作为实习生的我无疑是高兴的,本来实习地也尘埃落定,谁知,上天总...
    蒋小玉阅读 210评论 0 1

友情链接更多精彩内容