SQL21日自学通笔记五:SQL中的子句

子句:Where、Starting with、Order by、Group by、Having
SQL语句顺序:Select之后是From,之后是Where;Group by;Having和Order by(其余的子句,包括UNION;UNION ALL;INTERSECT和MINUS)

WHERE 子句


* Where子句将会使SQL语句更具有选择性。

STARTING WITH 子句


* 附加于Where子句上,作用与Like(exp%)相似。

ORDER BY 子句

* 排序 Select * From table Order by name; (根据name排序)
* 排序默认按升序排列。Order by ASC
* 按降序排列。 Order by Desc。
* Order by 可以使用多个字段。如第一字段相对,按第二字段排序,以此类推。每个字段排序方式可以不同。比如:Select * From table Order by name Asc,id desc。表示name按升序,id按降序排列。
* 如果已经知道进行排序的列是表中第一列的话,可以用Order by 1来替代输入列的名字,但不推荐这样做。

GROUP BY 子句


* 分组统计,可以对Select的结果进行分组后在应用汇总函数。
* 可以对多列进行分组。
* 当要分组结果返回多个数值时不能在Select子句中使用除分组列以外的列。 比如:Select age From table group by name。 这是错误的,因为age不是分组信息。
* 可以使用在Select中未列出的列进行分组。比如:Select payee,count(amount) From checks group by payee,amount; 可以使用amount分组。

HAVING 子句

* 对分组数据进行限制。
* Having 允许将汇总函数作为条件。比如:Select team,Avg(Salary) From table group by team Having Avg(Salary)<100; 表示:汇总结果Salary平均值<100
* Having 后面没有汇总函数时,条件针对每一条语句。比如:Select team,Avg(Salary) From table group by team Having Salary<100; 表示:Salary<100的数据进行汇总,求平均值。
* 有些解析器在Having子句中使用了非汇总函数将会导致错误。
* Having 允许使用多个条件。
* Having 可以使用在Select中没有指出的字段进行汇总。
* Having 可以使用其它的逻辑操作符。
* Having 可以使用IN操作符

子句综合查询

* 执行顺序:先where,之后排序,之后分组。

 

 

相关内容:

SQL21日自学通笔记一:SQL标准

SQL21日自学通笔记二:查询语句Select

SQL21日自学通笔记三:运算符

SQL21日自学通笔记四:函数

SQL21日自学通笔记五:SQL中的子句

SQL21日自学通笔记六:表的联合

SQL21日自学通笔记七:子查询内嵌的SQL子句

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值