企业网站建站意义,网站建设设计说明书,wordpress主题html,怎么自己做淘宝客网站你是否在面试中遇到过关于数据库的笔试题#xff1f;如何高效地准备这些题目#xff0c;提升自己的竞争力#xff1f;本文将为你整理一些经典的数据库笔试题及其答案#xff0c;助你备战面试。
金三银四马上来了#xff0c;测试年限较短难免会碰到笔试题#xff0c;最近…你是否在面试中遇到过关于数据库的笔试题如何高效地准备这些题目提升自己的竞争力本文将为你整理一些经典的数据库笔试题及其答案助你备战面试。
金三银四马上来了测试年限较短难免会碰到笔试题最近就收到一些求职小伙伴反馈过来的数据库笔试题说不太会做。特意做了下摘录及答案整理给大家做个分享。如果不想笔试受挫的宝子一定要牢牢码住并多多练习
在求职季节尤其是金三银四期间许多测试人员面临数据库相关的笔试题目。掌握常见的数据库笔试题及其解答对于提升面试通过率至关重要。
在实际面试中数据库相关的笔试题目常常考察候选人的SQL能力和逻辑思维。通过对经典题目的练习能够帮助我们更好地理解数据库的应用场景和解决方案。 一、已建立二张学生基本信息表表的结构如下 est表 test1表 1用SQL语句找出是计算机系并籍贯是北京的学生的所有记录
2用SQL语句把计算机系的学生的department改为信息学院
3用SQL连接查询找出成绩大于等于75分的学生的no,name, grade,course字段的记录 参考答案
1
select * from test where department计算机系 and place北京;
2
UPDATE test SET department信息学院 WHERE department计算机系;
3
select distinct test.no,test.name,test1.grade,test1.course from test,test1 where test.notest1.no and test1.grade75; 二、请按照如下题目要求编写 SQL 部门表 departmentsdept_id, dept_name
员工表 employeesemp_idemp_name, sex, dept_id, jobs
薪水表 salary (salary_id, emp_id, money)
问题1、 列出总人数大于 4 的部门编号和该部门人数
问题2、 列出开发部和测试部的职工号姓名
问题3、 显示工资最高的前 3 名职工的职工号和姓名
问题4、 列出工资在 1000-2000 之间的所有职工姓名 参考答案
1、
select dept_id, count() as 部门人数 from employees e group by dept_id having count()4;
2、
select e.emp_id,e.emp_name from employees e inner join departments d on e.dept_id d.dept_id where d.dept_name in (开发部,测试部);
3、
select e.emp_id, e.emp_name,s.money from salary s inner join employees e on s.emp_id e.emp_id order by s.money desc limit 3;
4、
select e.emp_name,s.money from salary s inner join employees e on s.emp_id e.emp_id where s.money between 1000 and 2000; 三、根据下面Student、StudentScore表编写对应的数据库语句 1、查询平均成绩大于60的学生
2、用多表语句查询ID为1的学生的各科成绩 参考答案
1、
select Student.* from Student, StudentScore where Student.ID StudentScore.ID group by StudentScore.ID having avg(StudentScore.Score) 60; 2、
select Student.ID, Student.name, StudentScore.C#, StudentScore.Score from Student,StudentScore where Student.ID StudentScore.ID and Student.ID 1; 四、表OrderItems如下按要求完成sql编写 参考答案
SELECT prod_id, quantity FROM OrderItems WHERE quantity 100 or prod_id LIKE BNBG% ORDER BY prod_id ASC; 五、SQL基础student(学生表)、class(班级表) 参考答案
1、
select class.name as c_Name,student.name,sex,score from student left join class on student.c_id class.id where score (select max(score) from student);2、
SELECT c.NAME AS C_Name,COUNT(s.Id) AS Rs,AVG(s.Score) AS Score FROM student s JOIN class c ON s.c_Idc.Id WHERE c.NAME IN (一班,二班) GROUP BY c.NAME ORDER BY Score DESC; 六、下图表a的信息写sql得出图2的信息 从结果可以看出来题目是 分别查出每年每月的amount值
SELECT year,SUM(IF(month1, amount, 0)) as m1,SUM(IF(month2, amount, 0)) as m2,SUM(IF(month3, amount, 0)) as m3,SUM(IF(month4, amount, 0)) as m4FROM aGROUP BY year; 七、企业表、用户表、专属司机表 企业表 t_orgnization 企业idorg_id、企业名称org_name注册时间created_time
用户表 t_user 用户iduser_id登录账号login_name密码pwd真实姓名real_name所属企业idorg_id注册时间created_time
专属司机表 t_my_driver 手机号mobile_no司机姓名name车牌号car_percel_no归属用户iduser_id
表之间的关系: 一个企业下可以注册多个用户每个用户可以为自己注册多个专属司机
问题1 查询所属企业id86639有真实姓名的用户信息列出:登录账号真实姓名所属企业名称。
问题2 查询拥有自己专属司机的用户所对应的企业信息列出企业id企业名称注意去重。 参考答案
1、
SELECT t_user.login_name,t_user.real_name,t_orgnization.org_name FROM t_user LEFT JOIN t_orgnization ON t_orgnization.org_idt_user.org_id WHERE t_user.org_id86639 AND t_user.real_name IS NOT NULL; 2、
SELECT DISTINCT t_orgnization.org_id,t_orgnization.org_NameFROM t_orgnizationLEFT JOIN t_user on t_user.org_id t_orgnization.org_idLEFT JOIN t_my_driver on t_my_driver.user_id t_user.user_idWHERE t_my_driver.user_id is not null; 八、以下为学生表、课程表、成绩表、教师表 Student(Sid,Sname,Sage,Ssex)学生表
Sid学号
Sname学生姓名
Sage学生年龄
Ssex学生性别
Course(Cid,Cname,Tid)课程表
Cid课程编号
Cname课程名称
Tid教师编号
Score(Sid,Cid,score)成绩表
Sid学号
Cid课程编号
score成绩
Teacher(Tid,Tname)教师表
Tid教师编号
Tname教师名字
试题1 查询平均成绩大于60分的同学的学号和平均成绩成绩保留两位小数
试题2 查询姓‘章’的老师的个数
试题3 查询所有同学的学号、姓名、选课数、总成绩
试题4 查询没有学过“柠檬”老师课的同学的学号、姓名
试题5 查询“C001”课程比“C002”课程成绩高的所有学生的学号、姓名
试题6 查询学过“C001”并且也学过编号“C002”课程的同学的学号、姓名
试题7 查询所有课程成绩小于60的同学的学号、姓名
试题8 查询没有学全所有课的同学的学号、姓名
试题9 查询学过“柠檬”老师所教的所有课的同学的学号、姓名
参考答案
1、
select Sid,ROUND(AVG(score), 2) from Score group by Sid having avg(score)60;
2、
select count(Tname) from Teacher where Tname like 章%;
3、
select Student.Sid,Student.Sname,count(Score.Cid),sum(Score.score) from Student left join Score on Student.SidScore.Sid group by Student.Sname,Student.Sid;
4、
select Sid,Sname from Student where Sid not in (Select Score.Sid from Teacher,Score,Course where Course.Cid Score.Cid and Course.Tid Teacher.Tid and Teacher.Tname 杨幂);
5、
Select a.Sid,a.Sname from Student ainner join Score b on a.Sid b.Sidinner join Score c on a.Sid c.Sidwhere (b.Cid C001and c.Cid C002) and b.score c.score;
6、
select a.Sid,a.Sname from Student a inner join Score b on a.Sidb.Sid inner join Score c on a.Sidc.Sid where (b.Cidc001 and c.Cidc002);
7、
select Student.Sid,Student.Sname from Student,Score where Student.Sid Score.Sid group by Score.Sid having max(Score.score)60;
8、
SELECT S.Sid ,S.Sname FROM Student S LEFT JOIN Score Sc ON S.SidSc.Sid GROUP BY S.Sid,S.Sname HAVING COUNT(DISTINCT Sc.Cid) ( SELECT COUNT(*) FROM Course);
9、
SELECT Sid, Sname FROM Student WHERE Sid IN (
SELECT Score.Sid
FROM Score
JOIN Course ON Course.Cid Score.Cid
JOIN Teacher ON Course.Tid Teacher.Tid
WHERE Teacher.Tname 杨幂
GROUP BY Score.Sid
HAVING COUNT(DISTINCT Course.Cid) (
SELECT COUNT(*)
FROM Course join Teacher
On Course.Tid Teacher.Tid where Teacher.Tname 杨幂
)
); 随着互联网行业的快速发展数据库技术在软件测试中的重要性日益凸显。掌握扎实的数据库知识已成为测试人员必备的技能之一。
通过对经典数据库笔试题的学习和练习我们可以更好地掌握数据库的核心概念和应用技巧。持续的学习和实践将为我们的职业发展奠定坚实的基础。