全面接触SQL语法三

来源:互联网 发布:淘宝买的csgo 编辑:程序博客网 时间:2024/05/16 10:03
HAVING 条件子句 

  指定一特定的分组记录,并满足HAVING 所指定的条件或状态,但条件是针对分组的条件设置。 


SELECT fieldlist 
FROM table 
WHERE selectcriteria 
GROUP BY groupfieldlist 
HAVING groupcriteria 
fieldlist 
显示被查询的字段名称。(可与ALL,DISTINCT,DISTINCTROW,或TOP相结合) 
table 
欲查询数据的表格名称。 
selectcriteria 
选取标准。 
groupfieldlist 
分组记录的字段名称,到多10个字段。而这些字段的顺序决定最高到最低的分组阶层。 
groupcriteria 
决定什么样的分组记录要被显示。 
HAVING跟WHERE 的用法相当类似,不同之处在于HAVING必须用于GROUP之后的分组数据上。 
例如: 
SELECT 分类编,Sum(库存数量) 
FROM 产品表格 
GROUP BY 分类编号 
HAVING Sum(库存数量)>100 AND 产品名称 LIKE "*纸"; 


  
  GROUP BY 条件子句 

  依据指定的字段,将具有相同数值的记录合并成一条。 


SELECT fieldlist 
FROM table 
WHERE criteria 
GROUP BY groupfieldlist 
fieldlist 
欲读取的字段名称。(可与ALL,DISTINCT,DISTINCTROW,或TOP合并使用) 
table 
被查询的表格名称。 
groupfieldlist 
分组记录的字段名称,到多10个字段,而这些字段的顺序决定最高到最低的分组层次。 
例如: 
SELECT 姓名,Count(姓名)AS 职员姓名 
FROM 职员表格 
WHERE 部门名称='业务部' 
GROUP BY 姓名 


  
  FROM 条件子句 

  指定表格名称或是查询,其中包含列在SELECT语句的字段数据。 


SELECT fieldlist 
FROM tableexpression[IN externaldatabase] 
fieldlist 
表格中的字段名称。(可与ALL,DISTINCT,DISTINCTROW,或TOP相结合) 
tableexpression 
表格名称,或多个表格的算式。 
externaldatabase 
若该表格参考到外部的数据库时,将其完整的路径名称记下。 
例如: 
从职员表格下,查询出所有姓名字段的数据(只有姓名字段被查询,其他则不显示)。 
SELECT 姓名 FROM 职员表格; 


  
  WHERE 条件子句 

  指定查询的条件与限制。 


SELECT fieldlist 
FROM tableexpression 
WHERE criteria 
fieldlist 
字段名称。(可与ALL,DISTINCT,DISTINCTROW,或TOP相结合) 
tableexpression 
表格名称,或多个表格的算式。 
criteria 
查询的结果,必须依照这一限制标准。 
例如: 
要查询出职员表格中,所有姓氏是李的数据,可以用下面的语句。 
SELECT 姓名 
FROM 职员表格 
WHERE 姓氏='李'; 

BETWEEN...AND 运算符 

  决定某一人数值是否介于特定的范围之内,此运算符只可以用在SQL的语句中。 


expr[Not]BETWEEN value1 AND value2 
expr 
指定要加以计算的字段与表达式的组合。 
value1,value2 
所指明的数值范围。 
例如: 
若是要从职员表格查询出所有年龄介于25-30岁的员工,可以利用下面的程序来做。 
SELECT 姓名,年龄 BETWEEN 25 AND 30 
FROM 职员表格; 


  
  LIKE 操作数 

  用来将一字符串与另一特定字符串样式(pattern)比较,并将符合该字符串样式的记录过滤出来。 


expression LIKE "pattern" 
expression 
使用在WHERE条件子句,SQL表达式。 
pattern 
用以比较的字符串样式。 
例如: 
若是你要查询出所有以“李”为首的姓氏,可以利用下面的式子。 
Like "李*" 
LIKE操作数的多种范例: 
1、多个字符: 
(1)"a*a" 
可筛选:"aa","aBa","aBBBa",不能筛选:"aBC" 
(2)"*ab*" 
可筛选:"abc","AABB","Xab",不能筛选:"aZb","bac" 
2、特殊字符: 
"a“*”a" 
可筛选:"a*a",不能筛选:"aaa" 
3、单一字符: 
"a?a" 
可筛选:"aaa","a3a","aBa",不能筛选:"aBBBa" 
4、单一数字: 
"a#a" 
可筛选:"a0a","a1a","a2a",不能筛选:"aaa","a10a" 
5、字符范围: 
"“a-z”" 
可筛选:"f","p","j",不能筛选:"2","&" 
6、指定字符以外部范围: 
"“!a-z”" 
7、指定非数字: 
"“!0-9”" 
可筛选:"A","a","&","~",不能筛选:"0","1","9" 
8、组合式结构: 
"a“!b-m”#" 
可筛选:"An9","az0","a99",不能筛选:"abc","aj0" 



  SQL数字函数 

  1、AVG:算数平均数 

  AVG(expr) 

  expr 

  字段名称或表达式。 


  例如: 

  若要计算职员身高超过165厘米的职员平均身高,可以利用下面的SQL语句来完成。 

  SELECT Avg(身高) 

  AS 平均身高 

  FROM 职员表格 WHERE 身高>165; 

  2、COUNT:计算记录条数 

  COUNT(expr) 

  expr 


  字段名称或表达式。 

  例如: 

  若是要统计出业务部门的职员人数,并查询出职员的姓名,可以利用下面的程序。 

  SELECT Count(姓名) AS 职员姓名 

  FROM 职员表格 

  WHERE 部门名称='业务部'; 

 
原创粉丝点击