《MySql 必知必会》 学习笔记(10-15)

来源:互联网 发布:java培训周末班 编辑:程序博客网 时间:2024/05/04 11:45

10.创建计算字段

  1. 为什么使用计算字段
    有时候需要从数据库中检索出转换、计算、或格式化后的的数据,在数据库服务器上完成这些操作比在客户机上完成要快得多。

  2. 拼接字段
    这里写图片描述
    Concat函数拼接串,即把多个串连接起来形成一个长的串。

注意:
这里写图片描述

Mysql的基本算术操作符和如何测试运算:
这里写图片描述

11.使用数据处理函数

  1. 函数的使用注意事项

    函数的可移植性没有Sql语句强,因为每种主要的DBMS的实现都支持其他实现不支持的函数,有时差异性还比较大,为了代码的可移植性需要减少使用这种特殊实现的功能,但是这些实现如果不适用函数的话,编写相应的代码实现会比较艰难和复杂,所以在使用函数的时候,应该保证做好代码的注释!

  2. 常见的文本处理函数
    这里写图片描述
    这里写图片描述

  3. 常用日期和时间处理函数
    这里写图片描述

    4.常用的数值处理函数
    这里写图片描述

在主要的DBMS函数中,数值函数是最一致最统一的函数。

12.汇总数据
1.聚集函数
聚集函数运行在行组上,是计算和返回单个值的函数。
这里写图片描述

2.聚集不同值
Mysql5 及 后期版本:DISTINCT的使用才添加进来
这里写图片描述

聚集函数的使用是为了在数据库层就可以用来汇总和处理数据,这些函数是高效设计的,返回结果比在客户端计算的话要快得多。

13.分组数据
1.创建分组
分组是在语句的 GROUP BY语句中建立的,而了解分组的重要方法就是看一个例子
这里写图片描述

2.过滤分组
Mysql 还可以过滤分组,但是想要过滤分组的话,需要用HAVING关键字。至今为止,所有学习的所有类型的WHERE语句都可以用HAVING语句替代,唯一的差别就是WHERE
过滤行,而HAVING过滤分组。

同时使用了WHERE语句和HAVING语句的SQL语句,通过实例来理解两者的区别。
这里写图片描述

3.分组和排序这里写图片描述

14.使用子查询
MySql 4.1引入了对子查询的支持,想要使用子查询的话一定要用4.1或更高级的版本

Sql实例:

SELECT cust_id From orders
WHERE order_num IN
(SELECT order_num FROM orderitems WHERE prod_id = ‘TNT2’)

格式化Sql:包含子查询的select语句难以阅读和调节,所以在编写的时候应将子查询分解为多行并且适当地进行缩进,能极大的简化子查询的使用。

15.联结表

用于在一条select语句中关联表,这种操作称为联结。

代码实例:
SELECT vend_name, prod_name , prod_price
FROM vendors , products
WHERE
vendors.vend_id = products.vend_id
ORDER BY vend_name , prod_name ;

该代码也可写为:
SELECT vend_name, prod_name , prod_price
FROM vendors INNER JOIN products
ON
vendors.vend_id = products.vend_id
ORDER BY vend_name , prod_name ;

规范里是首选 INNER JOIN
但是使用WHERE语句会比较简单,这种写法也可能会影响性能。

0 0
原创粉丝点击