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( 列名) 不包含空值 (统计数据量小)
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
1.A 2.A 3.D 4.C 5.D 6.C