对SQL查询的认识

一般结构:
  SELECT [TOP 记录数 或 PERCENT 小于100的数字 或 ALL] <字段列表或聚合函数 [AS 别名]>
  FROM <表名> [JOIN <表名> ON <表1的某些字段和表2的某些字段的对应关系>]
  [WHERE <逻辑表达式>]
  [GROUP BY <字段列表>]
  [HAVING <逻辑表达式>]
  [ORDER BY <字段列表> DESC/ASC]

1. 如果要列出所有的字段,可以用"*"表示,此时各字段出现的顺序可能是随机的,一般情况下跟创建表的时候一致。 

2. 如果有group by 语句,则SELECT的选择列必须为这些字段或聚合函数,换句话说不能出现其他的任何字段
    如:select 部门编号,名称,count(姓名) as 职工数 from tGroup g,tEmployee e where g.部门编号=e.所属部门 group by 部门编号,名称
 3. WHERE语句必须出现在Group by前面,Having与where作用相同,它却必须在group by语句的后面。他们的执行顺序也不同,where是在group by之前执行,having在group by结果出来之后再执行。

5. order by一定出现在一条语句的最后面。它是在选择的结果集出来之后再做操作,因此可以使用别名,其他的where和group by都不允许。
  6. 一般来讲,order by不允许出现在字句中。但当Select指定了(如:top 1000或percent 100)记录条数时除外。
  7. 一般情况下出现聚合函数,则一定要有group by字句;除非Select字句只剩下聚合函数。如:select avg(年龄),sum(年龄),min(年龄) from tEmployee

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值