SQL分组查询与组合查询

1.SOUNDEX()函数:将一个任何文本串转换为描述其语音表示的字母数字模式的语法。

1
SELECT  name from Customers Where SOUNDEX(name)=SOUNDEX('Michael')

2.GROUP BY子句中的每一列都必须是检索列或者有效的表达式,不能是聚集函数。必须出现在WHERE语句之后,ORDER BY语句之前。
3.HAVING过滤分组,WHERE过滤行,HAVING支持所有WHERE操作符。WHERE在分组前进行过滤,HAVING在分组后进行过滤。
4.子查询作为做查询的SELECT语句只能查询单个列,若企图检索多个列将返回错误。
5.关系表就是把信息分解成多个表,一类数据一个表,各表通过某些共同的值相互关联,所以才叫关系型数据库。
6.组合查询UNION默认从查询结果集中自动去除了重复的行。如果想返回所有的匹配行,使用UNION ALL。UNION几乎可以完成与多个WHERE条件相同的工作。如果确实需要每个条件匹配行都出现(包括重复行),就必须使用UNION ALL而不是WHERE。
7.对组合查询结果进行排序,只能只用一条ORDER BY子句,且必须位于最后一条SELECT语句之后。虽然OEDER BY子句似乎只是最后一条SELECT 语句的组成部分,但实际上DBMS将用它来排序所有SELECT语句返回的所有结果。