经典 SQL 数据库笔试题及答案整理

最近有蛮多小伙伴在跳槽找工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收录了下最近学员反馈上来的一些数据库笔试题,包含答案!

1、依据以下学生表、班级表,按要求写 SQL

答案:

1、

select * from student a

left join class b on a.c_id = b.id

where score = (

select max(score) from student)

2、

select b.name,count(*),avg(score) as avgScore from student a,class b

where a.c_id = b.id

group by b.name

order by avgScore;

2、Table A 保存客户的基本信息;Table B 保存客户的资产负债信息。按要求写 SQL

答案:

(1)select ID from A where name = '李四';

(2)select NO,NAME,ID from A,B where A.NO = B.NO AND DEPOSIT >= 1000;

(3)select COUNTRY,count(*) FROM A GROUP BY COUNTRY;

(4)SELECT '80 后' as 年龄段,sum(CREDIT) AS '信用卡余额' FROM A,B WHERE A.NO = B.NO AND BIRTH >= 19800101 AND BIRTH < 19900101

UNION

SELECT '90 后' as 年龄段,sum(CREDIT) AS '信用卡余额' FROM A,B WHERE A.NO = B.NO AND BIRTH >= 19900101 AND BIRTH < 20000101;

3、数据库(编写示例 sql)

答案:

select orderNo, if(status=1,'新建','处理中') from OrderTrans;

select DATE_FORMAT(a.crttime,'%m-%d-%Y') ,username,count(*) from testCase a,User b where a.crtUser = b.UserId group by DATE_FORMAT(a.crttime,'%m-%d-%Y'),b.username, having status = '成功';

select count(*),sum(amount),DATE_FORMAT(crttime,'%m-%d-%Y') from OrderInfo group by

DATE_FORMAT(crttime,'%m-%d-%Y');

4、现有三张数据表如下:学生资料表:记录学生基本信息;课程表:记录课程基本信息;成绩表:记录每人各门课程成绩的信息,1 个学生对应多个成绩,1 个成绩只属于一个学生,一个课程

答案:

Select * from students where jg = '湖北' and birthday = '1992-6-1' order by no asc;

Select avg(so.cj),min(so.cj),max(so.cj),sum(so.cj) from student st,course c,source so where st.no = so.no and c.kebh=so.kebh and st.name = '王华' group by st.no;

Select st.no,st.name,st.bj,c.kebh,c.kcmc,so.cj from student st,course c,source so where st.no = so.no and c.kebh=so.kebh and st.name = '张三' order by so.cj desc;

5、有三张表 Contacts 库 Consultant 表、Basket 库 BaseOrder 表、Basket 库 OrderDetails 表,按要求写 SQL

答案:

Select Consultant.SubsidiaryID, BaseOrder.* from Consultant, BaseOrder where Consultant.ConsultantID = BaseOrder.ConsultantID and Consultant.SubsidiaryID = 29 order by Orderid desc;

Select BaseOrder.ConsultantID,sum(OrderDetails.TotalPrice) from BaseOrder,OrderDetails where BaseOrder.Orderid=OrderDetails.Orderid and month(OrderDate) = 5 group by BaseOrder.ConsultantID;

Insert into Consultant (ConsultantID,ConstultantStatusID,SubsidiaryID,Name) values (200000,10,29,'Gary');

Delete from Consultant where Name like '%Gary%';

Update BaseOrder set OrderDate = sysdate() where ConsultantID in (select ConsultantID from BaseOrder where ConsultantID=100003 order by OrderDate desc limit 0,1);

ps:小编个人收集啦许多软测资料,希望能够帮到学软件测试的朋友们软件资料分享包括但不限于:Java自动化测试、Python自动化测试、性能测试、web测试、APP测试

测试开发工具包:appuim安装包、fiddler安装包(也有配套视频教程)、eclipse、git、jmeter、loadrunner、monkey、postman、soapul、Xmind等等

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
猿经验3 分钟前
如何使用PSQL Tool还原pg数据库(sql格式)
数据库·sql
编程修仙39 分钟前
MySQL外连接
数据库·mysql
Edward-tan44 分钟前
【全栈开发】----用pymysql库连接MySQL,批量存入
数据库·mysql·pymysql
mxbb.1 小时前
单点Redis所面临的问题及解决方法
java·数据库·redis·缓存
大霸王龙1 小时前
在 Django 中使用 SMTP 发送邮件是一个常见的需求
数据库·django·sqlite
测试老哥1 小时前
Python自动化测试图片比对算法
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例
纪伊路上盛名在2 小时前
爬虫1:uniprot蛋白质序列数据+canvas图片
数据库·学习·知识图谱·学习方法
程序员黄同学4 小时前
如何使用 Python 连接 MySQL 数据库?
数据库·python·mysql
新手小袁_J5 小时前
实现Python将csv数据导入到Neo4j
数据库·python·neo4j·《我是刑警》·python连接neo4j·python导入csv·csv数据集导入neo4j
シ風箏5 小时前
Neo4j【环境部署 02】图形数据库Neo4j在Linux系统ARM架构下的安装使用
linux·数据库·arm·neo4j