测试人员必知必会的SQL知识08
非常抱歉,忘记上传今天讲解使用的数据库了。特此附上:
http://download.csdn.net/detail/xc5683/4761054
今天我们学习SQL知识,我们今天开始我们的重点select查询语句。
今天用到的知识:SQL通配符和SQL函数。
先来看通配符:
[^charlist]
或者
[!charlist]
不在字符列中的任何单一SQL函数:USE TeachingDB;--查询Student中的所有信息SELECT * FROM StudentInfo;--查询student中的学生的Sname和Saddress信息SELECT Sname,Saddress FROM StudentInfo;--查询student中的学生的Sname和Saddress信息,并设定别名SELECT Sname AS '姓名',Saddress AS '地址' FROM StudentInfo;SELECT Sname '姓名',Saddress '地址' FROM StudentInfo;SELECT Sname 姓名,Saddress 地址 FROM StudentInfo;SELECT Sname AS 姓名,Saddress AS 地址 FROM StudentInfo;--这里的四种方法都行,但是建议用第一种方法--查询student表中的前5行信息,用topSELECT TOP 5 Sname,Sage FROM StudentInfo;--查询student表中前10%的信息SELECT TOP 10 PERCENT * FROM StudentInfo;--这个表中共有30条记录,所以这个结果显示前3条信息--那么查询倒数5行信息呢?SQL中没有down之类的语句,大家思考一下这个问题--下面用下面这个表看一下SELECT * FROM StudentCourse;--这个表中的Sno有重复的项,共60条记录啊--那么怎么去掉重复项呢?SELECT DISTINCT Sno FROM StudentCourse;--现在就剩30条了--查询地址为四川绵阳的学生SELECT * FROM StudentInfoWHERE Saddress='四川绵阳';--查询年龄大于19岁的学生信息SELECT * FROM StudentInfoWHERE Sage>19;--查询年龄在18和20之间的SELECT * FROM StudentInfoWHERE Sage>18 AND Sage<20;SELECT * FROM StudentInfoWHERE Sage BETWEEN 18 AND 20;--注意观察这两个区别?范围有区别的哦--查询学生地址为四川自贡和四川成都的学生信息SELECT * FROM StudentInfoWHERE Saddress='四川自贡' OR Saddress='四川成都';--查询学生地址不是自贡的学生信息SELECT * FROM StudentInfoWHERE NOT(Saddress='四川自贡'); SELECT * FROM StudentInfoWHERE Saddress!='四川自贡'; SELECT * FROM StudentInfoWHERE Saddress<>'四川自贡'; --查询Sno以02开头的学生信息SELECT * FROM StudentInfoWHERE Sno LIKE '02%';--查询Sname中带有小字的学生信息SELECT * FROM StudentInfoWHERE Sname LIKE '%[小]%';SELECT * FROM RankPayment;--查询平均paymentSELECT AVG(payment) FROM RankPayment;select * from courseinfo;--统计所有的行数SELECT COUNT(*) FROM CourseInfo;--查询coursehour最大的课程信息SELECT MAX(CouresHour) FROM CourseInfo;--查询coursehour最小的课程信息SELECT min(CouresHour) FROM CourseInfo;--查询coureshour大于平均课时的课程信息SELECT * FROM CourseInfoWHERE CouresHour>avg(coureshour);--哦,出错了,怎么回事啊?我们明天继续