测试人员必知必会的SQL知识08

本文深入讲解SQL中的SELECT查询语句,包括通配符使用、SQL函数应用、条件筛选等核心内容,并通过具体示例帮助读者掌握如何高效进行数据查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

非常抱歉,忘记上传今天讲解使用的数据库了。特此附上:

http://download.youkuaiyun.com/detail/xc5683/4761054

今天我们学习SQL知识,我们今天开始我们的重点select查询语句。

今天用到的知识:SQL通配符和SQL函数。

先来看通配符:

通配符描述
%替代一个或多个字符
_仅替代一个字符
[charlist]字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一
SQL函数:

函数描述
AVG(column)返回某列的行数
  
  
  
COUNT(column)返回某列的行数(不包括NULL值)
COUNT(*)返回被选行数
COUNT(DISTINCT column)返回相异结果的数目
FIRST(column)返回在指定的域中第一个记录的值(SQLServer2000 不支持)
LAST(column)返回在指定的域中最后一个记录的值(SQLServer2000 不支持)
MAX(column)返回某列的最高值
MIN(column)返回某列的最低值
  
  
SUM(column)返回某列的总和
  
  

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行信息,用top
SELECT 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 StudentInfo
	WHERE Saddress='四川绵阳';

--查询年龄大于19岁的学生信息
SELECT * FROM StudentInfo
	WHERE Sage>19;

--查询年龄在18和20之间的
SELECT * FROM StudentInfo
	WHERE Sage>18 AND Sage<20;

SELECT * FROM StudentInfo
	WHERE Sage BETWEEN 18 AND 20;

--注意观察这两个区别?范围有区别的哦

--查询学生地址为四川自贡和四川成都的学生信息
SELECT * FROM StudentInfo
	WHERE Saddress='四川自贡' OR Saddress='四川成都';

--查询学生地址不是自贡的学生信息
SELECT * FROM StudentInfo
	WHERE NOT(Saddress='四川自贡'); 

SELECT * FROM StudentInfo
	WHERE Saddress!='四川自贡'; 

SELECT * FROM StudentInfo
	WHERE Saddress<>'四川自贡'; 

--查询Sno以02开头的学生信息
SELECT * FROM StudentInfo
	WHERE Sno LIKE '02%';

--查询Sname中带有小字的学生信息
SELECT * FROM StudentInfo
	WHERE Sname LIKE '%[小]%';

SELECT * FROM RankPayment;
--查询平均payment
SELECT 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 CourseInfo
	WHERE CouresHour>avg(coureshour);
--哦,出错了,怎么回事啊?我们明天继续




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值