技术文

用通配符进行过滤和汇总数据

2016-10-18  本文已影响53人  Mg明明就是你

一、用通配符进行过滤

通配符本身实际上是SQL的WHERE子句中有特殊含义的字符,SQL支持几种通配符。通配符只能搜索只能用于文本字段(字符串),非文本数据类型字段不能使用通配符搜素。运用:怎样搜素产品中包含文本bean bag的产品?

LIKE操作符

百分号(%)通配符

SELECT pro_id, pro_name FROM Products WHERE pro_name LIKE 'fish%'```
 - 输出结果:


 |  pro_id  |  pro_name | 
    | :-:  |  :-:   |
    |  BR02  | fish bean bag toy | 
    -  注意:搜索是区分大小写的。'Fish%'与fish bean bag toy就不匹配
***

###下划线(_)通配符
- 另一个有用的通配符是下划线(_),下划线的用途与%一样,但它只匹配单个字符,而不是多个字符。eg:为了找出所有以__ inch起头的产品,可以使用以下SELECT语句:

SELECT pro_id, pro_name FROM Products WHERE pro_name LIKE '__ inch Teddy bear'```

pro_id pro_name
BR02 12 inch Teddy bear
BR03 18 inch Teddy bear

方括号( [] )通配符

SELECT cust_contact FROM Customers WHERE cust_contact LIKE '[JM]%' ORDER BY cust_contact ```
  - 输出结果:


 |  cust_contact | 
    | :-: |
    |  Jim  jones  | 
    |  John Smith  | 
    |  Michelle  Green  | 

***

###实验通配符的技巧
- 正如所见,SQL的通配符很有用。但这种功能是有代价,即通配符搜索比一般前面讨论的其他搜索要耗费更长的时间。这里总结一下通配符的使用技巧。
  - 不用过度使用通配符。如果其他操作符能实现相同的目的,应该使用其他操作符。
  - 在确实需要使用通配符时,也尽量不要把它们用在搜索模式的开始处。通配符置于开始处,搜索起来是最慢的。  
  - 仔细注意通配符的位置。如果放错地方,可能不会返回想要的结果。
***
***
***

#二、汇总数据
###SQL聚焦函数
|函数|说明|
| :-: | :-: |
  | **AVG()**       | 返回某列的平均值 |
  | **COUNT()** | 返回某列的行数    |
  | **MAX()**      | 返回某列的最大值 |
  | **MIN()**       | 返回某列的最小值 |
  | **SUM()**     | 返回某列均值之和 |

- #####运用:
  - 确定标准的函数(或者满足某个特定条件或包含某个特定值的行数)
  - 获得表中某些行的和
  - 找出表列(或所有行或某些特定的行)的最大值、最小值、平均值
上一篇 下一篇

猜你喜欢

热点阅读