您的位置:首页 > 数据库

【T_SQL】基础 续+

2016-05-18 14:53 281 查看


十、模糊查询

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: