软件测试面试题整理数据库.docx
- 文档编号:16564487
- 上传时间:2023-07-14
- 格式:DOCX
- 页数:20
- 大小:23.57KB
软件测试面试题整理数据库.docx
《软件测试面试题整理数据库.docx》由会员分享,可在线阅读,更多相关《软件测试面试题整理数据库.docx(20页珍藏版)》请在冰点文库上搜索。
软件测试面试题整理数据库
面试题-数据库-整理
1.数据库
省份
农作物
产量〔万吨〕
小麦
321
小麦
3
..........
..........
..........
水稻
432
水稻
211
..........
..........
...........
棉花
23
棉花
0.2
.......
.........
..........
用一条sql语句根据以上表格查询出如下结果。
1)查询出来哪些省份棉花产量大于5000吨。
2)查询出来哪些省份没有种植棉花作物。
3)查询出来哪些省份水稻生产量在3万吨-30万吨之间。
4)查询出来各省份农作物平均产量。
5)查询出来哪些省份水稻或者小麦产量高于水稻产量。
6)查询出来哪些省份小麦产量高于水稻产量。
7)查询出来哪些省份棉花产量高于水稻产量但小于小麦产量。
2.数据库
表名:
subway,包含3个字段:
id〔线路编号〕、stop〔站点〕、sequence〔站点序列〕。
如下,请写出以下SQL语句:
Id〔线路编号〕
Stop〔站点〕
Sequence〔站点序列〕
1
人民广场
10
2
公园
7
1
莘庄
1
8
人民广场
8
2
人民广场
10
.........
.........
.........
1)找出站点名称包含"人民〞的所有记录。
2)找出途径线路数最多的站点。
3)站点A和B,判断是否可以直达。
3.数据库脚本语句在数据库中的执行顺序是〔DCL-DML-DLL〕
4.数据库
假设现有实体:
测试工程师:
员工标号、单位、、性别、年龄、测试工程;
测试工程:
工程编号、工程名、所属部门、工程经理;
请用SQL语句完成:
检索出不是测试工程编号为"P17〞的工程测试工程师的和测试工程。
5.数据库
学生表Student
S*〔学生编号〕varchar〔10〕
Sname〔学生〕varchar〔10〕
Sage〔出生年月〕datetime
Sse*〔学生性别〕varchar〔10〕
01
雷
1990-01-01
男
02
钱电
1990-12-21
男
03
1
1990-05-20
男
04
1990-08-06
男
05
周
1991-12-01
女
06
吴
1992-03-01
女
07
1989-07-01
女
08
王
1990-01-20
女
课程表Course
C*课程编号varchar〔10〕
ame课程名称varchar〔10〕
T*教师编号varchar
〔10〕
01
语文
02
02
数学
01
03
英语
03
教师表Teacher
T*教师编号varchar〔10〕
Tname教师varchar〔10〕
01
三
02
四
03
王五
成绩表SC
S*学生编号varchar〔10〕
C*课程编号varchar〔10〕
Score分数decimal〔18,1〕
01
01
80
01
02
90
01
03
99
02
01
70
02
02
60
02
03
80
03
01
80
03
02
80
03
03
80
04
01
50
04
02
30
04
03
20
05
01
76
05
02
87
06
01
31
06
03
34
07
02
89
07
03
98
1)查询出只有两门课程的全部学生的**和。
2)查询男生,女生人数。
3)查询"〞姓教师的数量
4)检索"01〞课程分数小于60,按分数降序排列的学生信息。
6.*数据库中存放两个数据表:
教师表〔教师编号,教师〕和课程表〔课程号,课程名,教师编号〕,假设要快速查出*位教师教授的课程,以下建立索引方式中正确的选项是〔〕
A.在教师表上按教师编号建立索引
B.在课程表上按照课程号建立索引
C.在课程表上按教师编号建立索引
D.在教师表上按照教师建立索引
7.以下关于数据库中触发器的描述中错误的选项是〔〕
A.触发器是一种特殊的存储过程
B.触发器常在SELECT.INSERT.UPDATE和DELETE操作时触发
C.触发器可以通过数据库中的相关表进展层叠更改
D.触发器是自动的,可以在用户对表的数据做了修改之后被自动激活
8.数据库
主表〔student〕如下:
Student表
自动编号
**
课程编号
课程名称
分数
12005001
三
0001
数学
69
22005002
四
0001
数学
89
32005001
三
0001
数学
69
42005001
三
0001
数学
69
删除除了自动编号不同,其他都行同的同学冗余信息的方法。
9.数据库
数据库由以下四个关系模式构成:
供应商表S〔S*,SNAME,STATAUS,CITY〕
零件表:
P〔P*,PNAME,COLOR,WEIGHT,CITY〕
工程工程表:
J〔J*,JNAME,CITY〕
供应商-零件-工程工程表:
SPJ〔S*,P*,J*,QTY〕
供应商S,零件P和工程工程J分别由供应商〔S*〕,零件号〔P*〕和工程工程号〔J*〕唯一标识,供货SPJ是反映*个工程工程供应*些数量的*种零件。
请用SQL语言完成下面的问题:
1)找出给的工程工程提供的不同零件号。
2)将没有供货的所有工程工程从J中删去。
3)计算所有工程工程中零件P1的总使用量。
4)查询这样的工程工程号:
供应该工程工程的零件P1的平均供应量大于10.
10.数据库
现在有如下两个表,js表和mem表,mem表中js_t记录js的id
请做如下查询:
表1:
mem〔人员〕
id
username
realname
Js_t
1023
chen
小晨
2
1034
yang
小
2
1025
zhang
小
5
1026
guo
小郭
3
1027
li
小
4
表2:
js
id
type
count
1
Android
25
2
IOS
37
3
Web
26
4
Linu*
10
5
Mac
56
1)请写出一条sql,查询mem表中共有几种js_t类型;
2)请写一条sql,查询type是IOS和Web的人员。
3)请建立一视图,显示mem表中人员信息和所对应的机型及数量。
11.数据库
你了解哪些数据库类型.且简述MySQL和SQLServer的主要区别。
12.有一个用户表user,有三个字段,username,usercode,password。
1)举例说明对数据库的根本操作〔增加,删除,更新,查询〕
2)查询出username中包含"〞的用户信息。
13.数据库表过使用________可标识一条记录的唯一性。
使用________可提高检索效率。
14.数据库表记录的增,删,改分别用_________、_________、_________语句。
15.数据库
请根据以下表间关系写出SELECT语句;每个业务日期的"状态为派单、送出和结账〞的订单全额合计值〔如写不出请说明思路〕
提醒:
可能需要用到的函数有sum〔〕、groupby
状态表STATUS
STATUSID状态ID
STATUSNAME状态名称
101
创立
102
接收
103
派单
104
备餐
105
送出
106
结账
107
无人接收
订单表ORDER_HEADER
ORDER_ID订单ID
ORDER_CODE订单编号
STATUS_ID状态ID
ORDER_DATE业务日期
PRODUCT_ID产品ID
QTY数量
AMOUNT订单金额
1
1
101
20210701
D101
1
80.00
2
02
106
20210701
D118
5
125.50
16.数据库
有两表Student和Score,数据例如如下:
Student.StudentId跟Score.StudentId关联
Student学生表
StudentId学生ID
Name
Class班级
1
帆
1-1
2
华
1-2
3
....
...
Score成绩表
StudentId
Subject科目
Score分数
1
英语
88
1
数学
68
...
...
...
请写出SQL
1)列出每个科目的平均分数。
2)列出为"勇〞的学生的成绩单。
3)列出英语和数学都不及格〔分数小于60〕的学生的。
17.在SQLServer或者Oracle中,为数据库表建立索引能够〔〕
A.防止非法的删除操作
B.防止非法的插入操作
C.提高查询性能
D.节约数据库的磁盘空间
18.在SQLServer或者Oracle中,事务应该具有的属性是〔〕
A.原子性
B.一致性
C.隔离性
D.持久性
19.下面哪些关于数据库主键的说确的是〔〕
A.主键可以用来确保表中不存在重复的数据行
B.一个表必须有一个主键
C.一个表只能有一个主键
D.只能对整数型列设置主键
20.*银行信贷子系统有如下关系表:
客户信息表〔客户编号,客户,银行卡号,客户状态,客户级别〕主键:
客户编号
客户信息表〔合同编号,客户编号,信贷金额,贷款金额,贷款余额,贷款利率,合同生效日期〕主键:
合同编号
客户明细表〔合同编号,客户编号,还款期次,还款金额,还款日期〕主键:
合同编号,还款期次
根据以上信息,完成如下题目:
1)请列出客户编号为"123456〞客户的贷款余额和合同号。
2)请列出有两笔贷款的客户信息。
3)请将A类客户的贷款利率优惠10%。
4)请列出本期〔假设期次为"202110〞〕暂未还款的贷款明细。
5)请列出2021年生效的合同明细。
21.表table中的id对应多个记录,把这个id的记录查出来,并显示有多少条记录。
22.检查以下SQL的输出答案〔〕
Selecta.depton,a.job,b.loc,sum(a.sal)
Fromdmpa,deptb
Wherea.deptno=b.depton
Groupbya.depton,a.job,b.loc
Orderbysum(a.sal)
这个查询按哪个对的顺序返回输出.
A.a.depton
B.a.job
C.B.loc
D.Sum(a.sal)
23.看以下代码,答复以下问题
selectdeptno,job,avg(sal)
fromcmp
groupbydeptno,job
havingavg(sal)>
(selectsal
Fromcmp
Whereame=’MARTIN’)
上述语句使用以下哪种子查询.
A.单行子查询
B.多行子查询
C.from子查询
D.多列子查询
24.要把SALES表中的PRODUCT_TYPE列的大小从varchar〔5〕列增加到varchar2〔10〕,用以下哪个语句〔〕
A.altertablesalesadd(product_typevarchar2(10))
B.altertablesalesmodifyproduct_typevarchar2(10)
C.altertablesalesunusedcolumnproduct_typevarchar2(10)
D.altertalesalesdropcolumnproduct_type
25.数据库
设有如下关系,用SELECT完成查询:
学生表〔**,,年龄,所在系〕
课程表〔课程号,课程名,教室〕
选课表〔**,课程号,成绩〕
用SQL完成以下操作:
1)求数学系学生的**和。
2)将一个新的学生记录〔**:
"98010〞,:
"三〞,年龄"20〞,所在系:
"计算机系〞〕插入到学生表中。
3)把**:
"98010〞的学生的所在系改为艺术系。
4)删除艺术系的学生记录及选课记录。
26.请举例说明leftjoin,rightjoin,innerjoin三者的区别。
左表
LID
LValue
1
A
2
B
3
C
4
D
右表
RID
RValue
1
A
2
B
3
C
4
D
执行如下语句填表:
Select*
Fromlefttableaslt
Leftjoinrighttableasrt
Onlt.lvalue=rt.rvalue
执行如下语句填表:
Leftjoin
LID
LValue
RID
RValue
Rightjoin:
LID
LValue
RID
RValue
Innerjoin
LID
LValue
RID
RValue
27.OrderBy和GroupBy
O_ld
orderDate
orderprice
Customer
1
2021-12-29
1000
Bush
2
2021-11-23
1600
Carter
3
2021-10-5
700
Bush
4
2021-9-28
300
Bush
5
2021-8-6
2000
Adams
6
2021-7-21
100
Carter
Selectcustomer,sum〔orderprice〕fromorders该语句能执行吗.
使用GROUPBy语句对客户进展组合
问selectcustomer,SUM(orderPrice)
fromorder
groupbycustomer结果集。
Customer
SUM〔orderprice〕
28.请根据下面的表构造来编写sql语句:
Name表
userId
username
age
se*
1
小王
18
男
2
小
20
女
3
小
22
男
Class表
classId
classname
Studyname
Userid
Class001
一班
语文
1
Class002
二班
数学
2
Class003
三班
英语
3
1)请查询所有学员
2)请查询不包括科目为"语文〞在的所有其他科目信息
3)更新把科目"语文〞改为"物理〞,且删除一条关于年龄大于"20〞的信息。
4)插入一条科目为"化学〞,班级为"四班〞,classid为"class004〞的用户信息
5)请用一级嵌套查询根据学员为小王所参加的科目及班级信息。
29.以下三个数据表构造
Tbl_customer(客户信息表)构造:
customer_code,name,address(分别表示:
客户编号,客户名称,客户地址)
Tbl_order〔销售订单主表〕构造:
order_no,customer_code,order_date(分别表示:
订单编号,客户编号,订单日期)
Tbl_order_item(销售订单明细表)构造:
order_noll,goods_name,price,quantly(分别表示:
订单编号,商品名称,单价,订单数量)
请写出SQL,列出既订购商品A又订购商品B的客户名称。
30.SQL语言中删除一个表指令〔〕
A.Droptable
B.Deletetable
C.Destroytable
D.Removetable
31.原表:
Couseidcoursenamescore:
1java70
2oracle90
3*ml40
4jsp30
5serviet80
为了便于阅读,查询此表后的结果显示如下〔及格分数为60〕:
Courseidcoursenamescoremark:
1Java70pass
2oracle90pass
3*ml40fail
4jsp30fail
5servlet80pass
写出此查询语句
32.数据库
有学生表〔student〕,教师表〔teacher〕,成绩表〔score〕如下:
Student_ID
Student_name
class
S01
王晓明
一班
Teacher_ID
Teacher_name
department
T01
教师
语文
T02
教师
数学
Teacher_ID
Student_ID
score
T01
S01
60
T02
S02
70
1)请查询出一班学生的语文成绩,结果如下
班级学生科目成绩
2〕请查询出所有成绩"60的学生,结果如下
班级学生科目成绩
33.学生成绩表〔stuscore〕
name
课程subject
分数score
**stuid
三
数学
89
1
三
语文
80
1
三
英语
70
1
四
数学
90
2
四
语文
70
2
四
英语
80
2
1)计算每个人的总成绩并排名〔要求显示字段:
,总成绩〕
2)计算三的课程中的平均分数〔要求显示字段:
平均分数〕
34.数据库
以下为"学生选课系统〞数据库,学生选课的关系模式为:
学生〔**char〔10〕,char(20),性别char〔2〕,年龄〔int〕,所在系〔char〔20〕〕〕
课程〔课程号(char(10)),课程名(char(20)),先行课(char(10)))
选课〔**(char(10)),课程号(char(10)),成绩(int)〕
根据给系统,用SQL语句完成下面各题
1)查询物理系学生的**不在202101-202111围的所有记录。
2)将一个新学生记录〔**:
〞96002〞,:
"三〞,所在系"英语系〞插入到学生表中〕
3)将学生表中全部学生的年龄加上3岁。
4)在课程表上"按课程号〞建立唯一索引
5)将学生表中年龄在19-22之间的物理系的女生所有记录插入到选课表中。
35.在SQLServer2000中,以下关于索引说法错误的选项是〔〕
A.可以通过SQL语句不删除圆索引二直接修改建立新的索引类型
B.如果一个表中存在重复记录,则不能建立索引
C.一个表中只能建立一个聚簇索引
C.一个表的主索引必须对不包含空值的字段建立,并且强制该字段成为唯一索引。
36.描述table和view的区别
37.描述字段类型char,varchar〔nchar〕的区别
38.A表leftjoinB表时,取出所有A表数据还是B表数据
39."selecttop10*fromA表〞〔信息不明〕
40.描述SQL语句中的关键字union和unionall的区别
41.A表fulljoinB表和A表joinB表获得的记录是否一样.〔题目信息不清晰〕
42.针对SQL语句的关键字in和。
。
。
〔信息不清晰〕
43.MySQL中有一任务表〔task〕,请给出搜寻语句列出task表中任务描述〔descript〕为空的任务。
44.数据库
下面是学生成绩表〔score〕构造说明
字段名称
字段解释
字段类型
字段长度
约束
Sc_number
**
字符
8
pk
Sc_name
字符
50
Notnull
Sc_se*
性别
字符〔男:
1;女:
0〕
2
Notnull
Sc_courseid
课程号
字符
5
pk
Sc_score
分数
数值
3
Notnull
Sc_ismakcup
当前考试是否为补考
字符〔补考:
1;非补考:
0〕
2
Notnull
下面是课程表〔course〕说明
字段名称
字段解释
字段类型
字段长度
约束
Co_id
课程号
字符
5
pk
Co_name
课程名
字符
3
Notnull
Co_desc
课程介绍
字符
60
1)如果**的前两位表示年级,要查找98级女生的,请邪乎相应的SQL语句
2)要查找所有需要补考〔小于60分〕的学生和这门课程的名称和成绩,请写出相应的SQL语句
45.数据库
按照要求写出SQL
假设student表中存放的*学校学生的信息,其字段定义为:
列名
数据类型
说明
ID
int
主键
NAME
nvarchar
AGE
int
年龄
CLASSID
int
班级,存放班级的主键
BIRTHDAY
datetime
生日
Class表是存放的是班级的信息,定义为:
列名
数据类型
说明
ID
int
主键
NAME
nvarchar
班级名称
1)寻找学校中所有姓"〞的学生
2)寻找班级名称为"A班〞的,年龄最大的前5名学生。
3)统计每个班级的人数,〔要求显示班级名称和人数〕
46.(表不明)编写SQL语句找出至少两门功课几个的学生名字
47.〔表不明〕编写SQL语句找出语文成绩排名第三的学生名字及具体分数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 试题 整理 数据库