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

一、用通配符进行过滤

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

LIKE操作符

  • 谓词
    • 操作符何时不是操作符?答案是,它作为谓词时。从技术上来说,LIKE是谓词问不是操作符。虽然最终的结果相同,但应对此术语用所了解。

百分号(%)通配符

  • 最常使用的通配符就是百分号(%)在搜索中,%表示任何字符串出现的任意次数。eg:为了找出所有以fish起头的产品,可以使用以下SELECT语句:
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

方括号( [] )通配符

  • 方括号( [] )通配符用来指定一个字符集,它必须匹配指定位置(通配符的位置)的一个字符。eg:找出所有名字以M或J起头的联系人,可用如下查询语句:
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()**     | 返回某列均值之和 |

- #####运用:
  - 确定标准的函数(或者满足某个特定条件或包含某个特定值的行数)
  - 获得表中某些行的和
  - 找出表列(或所有行或某些特定的行)的最大值、最小值、平均值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通配符(wildcard) 用来匹配值的一部分的特殊字符。 搜索模式(search pattern) 由字面值、通...
    ATHAS阅读 842评论 0 49
  • 2017/3/14 RDBMS:关系型数据库管理系统 关系模型独立于语言 SQL有几种不同类型的语言:数据定义语言...
    ancherl阅读 1,653评论 0 6
  • 1 过滤检索数据(WHERE) 1.1 使用WHERE子句 WHERE子句指定对搜索条件进行过滤。 注意:在同时使...
    hufengreborn阅读 2,360评论 1 1
  • 纵使马骧驰再狂妄他确实也有这个本事,纵使乐昌真人跟苦海方丈两人连起手来打败了他那也是于情于理都过不去,两个前辈打一...
    彭歌帅阅读 557评论 0 0
  • 叶寻佳在一次意外中不幸身亡,当他醒来的时候,看到了掌管转世的灵人,叶寻佳与灵人进行了一次协商,打算跳出轮回,重返人...
    雾三半阅读 473评论 0 6