第十章 模糊查询和聚合函数

1.理论总结

1.通配符

1.  -   (一个字符)

2.  (任意长度的字符串)

3. [ ]   (括号中指定范围内的一个字符)

4.[ ^ ]  (不在括号中所指定范围内的任意一个字符)

2.使用LIKE进行模糊查询

SELECT  * FROM  表名   WHERE  列名  LIKE   '%查找值%'   (进行匹配查找)

3.使用BETWEEN在某个范围内进行查询

SELECT * FROM  表名    WHERE   列名  BETWEEN (NOT)    初值  AND  终值     (查询介于两个已知值之间的一组未知值)

使用NOT来对限制条件进行 ‘ 取反 ’ 操作

4.使用IN在列价值内进行查询

SELECT  列名   FROM  表名  WHERE   列名    IN(列举值)(查询的值是指定的某些值之一)

把IN关键字和NOT关键字合起来使用,可以得到所有不匹配列举值的行

5.T-SQL 中的聚合函数

1.SUM( ) 函数   (求和)

2.AVG( ) 函数    (平均值)

3.MAX( ) 函数          (最大值 )

4.MIN( ) 函数         (最小值)

5.COUNT( ) 函数     (计数)   COUNT( * )   包含空值(统计数据量大)    COUNT( 列名)   不包含空值 (统计数据量小)

2.上机练习2

1.上机练习

USE [第七章 用表组织数据]
GO

SELECT StudentName,Phone,Address
FROM Student
WHERE Address LIKE '%山东%'

SELECT SubjectName,ClassHour,GradeId
FROM Subject
WHERE SubjectName LIKE '%数据库%'
ORDER BY GradeId

SELECT StudentName,Address,Phone
FROM Student
WHERE Phone LIKE '1387%'

SELECT StudentNo,StudentName,Address
FROM Student
WHERE StudentName LIKE '姜_'

SELECT * FROM Result
WHERE StudentNo = 'S1101004' AND SubjectId IN(1,2,3)

SELECT * FROM Student
WHERE BornDate BETWEEN '1989-1-1' AND '1995-12-31'

2.上机练习2

USE [第七章 用表组织数据]
GO

SELECT * FROM Student

SELECT COUNT(StudentNo) AS 学生总人数
FROM Student

SELECT SUM(ClassHour) AS 第一学期的总学时
FROM Subject
WHERE GradeId = 1

SELECT SUM(StudentResult) AS S1101004的第一学期总成绩
FROM Result
WHERE StudentNo = 'S1101004' AND SubjectId IN(1,2,3,4)

SELECT AVG(StudentResult) AS S1101004的第一学期的所有考试的平均分
FROM Result
WHERE StudentNo ='S1101004' AND SubjectId IN(1,2,3,4)

SELECT MAX(StudentResult) AS 最高分,MIN(StudentResult) AS 最低分,AVG(StudentResult) AS 平均分
FROM Result
WHERE SubjectId =3 AND ExamDate='2013-3-22'

SELECT AVG(StudentResult) AS C#语言和数据库技术的及格学生的平均分
FROM Result
WHERE ExamDate = '2013-3-22' AND SubjectId = 3 AND StudentResult >= 60

SELECT  AVG(StudentResult) AS C#语言和数据库技术的所有学生的平均分
FROM Result
WHERE SubjectId = 3

3.选择题

1.A          2.A          3.D          4.C          5.D          6.C    

你可能感兴趣的:(第十章 模糊查询和聚合函数)