【T_SQL】基础 续+


十、模糊查询 

1、LIKE 
--查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有这些内容。 
SELECT StuName AS 姓名  
FROM  Stuinfo  
WHERE stuname LIKE '李%' 
--显示结果:姓为“李”的人的名字。 


2、IS NULL 
--把某一字段中内容为空的记录查询出来。 
SELECT  StuName AS 姓名,StuAddress  AS 地址。  
FROM  Stuinfo  
WHERE  StuAddress  IS  NULL 
--显示结果:把地址栏为空的显示出来。

3、BETWEEN 
--把某一字段中内容在特定范围内的记录查询出来。 
SELECT  StuNo, Score  
FROM  Stumarks  
WHERE Score BETWEEN 60 AND 80 
--显示结果:把分数 80>= Score >=60 的显示出来。 

4、IN 
--把某一字段中内容与所列出的查询内容列表匹配的记录查询出来。 
SELECT  StuName AS 学员姓名,StuAddress As 地址  
FROM  Stuinfo 
WHERE  StuAddress IN ('北京','广州','上海') 
--显示结果:把地址在('北京','广州','上海')里的显示出来。 



十一、聚合函数 

1、SUM(求和) 
SELECT  SUM(Score)  
FROM  Stumarks  
WHERE  条件 
--显示结果:把符合条件的 Score 求和,然后显示结果。
 
2、AVG(求平均值) 
SELECT  AVG(SCore) AS 平均成绩  
From  Score  
WHERE  Score >=60 
--显示结果:把 Score >=60 的成绩求平均值,然后显示结果,显示的列名为“平均成绩”
 
3、MAX、MIN(求大、小值) 
SELECT  MAX (Score) AS 高分, MIN (Score) AS 低分  
From  Score  
WHERE  Score >=60 
--显示结果:把 Score>=60 中的高分和低分显示出来。
 
4、COUNT(计数) 
SELECT  COUNT (*)  AS 及格人数  
From  Score  
WHERE  Score>=60 
--显示结果:把 Score 列中,>=60 的个数统计出来,然后显示统计数目。

 
十二、分组查询 
1、单列分组查询 
SELECT  CourseID, AVG(Score) AS 课程平均成绩 
FROM  Score 
GROUP BY  CourseID 
--显示结果:按 CourseID 组求 Score 的平均值,然后将 CourseID 和平均值显示出来。
 
2、多列分组 
SELECT  StudentID AS 学员编号,CourseID AS 内部测试, AVG(Score) AS 平均成绩  
FROM  Score 
GROUP BY  StudentID,CourseID 
--显示结果:显示所有学员的:“学员编号”(StudentID),“内部测试”(CourseID),“平均成绩”(AVG(Score))。如果同一 CourseID 组中出现了相同的 StudentID,则显示出来的是这一CourseID 组中相同的 StudentID 的平均成绩。 

3、HAVING(追加条件) 
SELECT  StudentID AS 学员编号,CourseID AS 内部测试, AVG(Score) AS 平均成绩  
FROM  Score 
GROUP BY  StudentID,CourseID 
HAVING  COUNT(Score)>1 
显示结果:显示补考学员的:“学员编号”(StudentID),“内部测试”(CourseID),“平均成绩”(AVG(Score))。如果同一 CourseID 组中的同一 StudentID 组中记录 Score 的次数,如果次数>1,则显示出来“学员编号”(StudentID),“内部测试”(CourseID),“平均成成绩”(AVG(Score))。 

4、条件比较顺序 

WHERE 子句从数据源中去掉不符合其搜索条件的数据。 
GROUP BY 子句搜集数据行到各个组中,统计函数为各个组计算统计值。 
HAVING 子句去掉不符合其组搜索条件的各组数据行。 


WHERE———>GROUP BY———>HAVING 

 

摘自http://vdisk.weibo.com/s/d0C3jikrGIj1N

原文地址:https://www.cnblogs.com/DoubleEggs/p/5747146.html