软件测试面试必考的SQL语句

article/2025/8/25 7:30:08

之前找工作参加了几个面试,发现软件测试的笔试都有一道关于SQL的简答题,今天就把必考的题型及参考答案汇总一下。
基础SQL例子

1、创建表,如创建学生表Student,要求有学生姓名name,年龄age,班级class
大致写法是:
字段名 类型 是否为空 主键

CREATE TABLE Student (name VARCHAR ( 255 ) not null primary key,age INT NOT NULL,class VARCHAR ( 255 ) NOT NULL 
)

创建后表如下
在这里插入图片描述

2、修改字段名,基本语法是:

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

如把上表的name改为name1

ALTER TABLE Student CHANGE name name1 VARCHAR (255);

3、向Student表插入一条数据“小红,11,3年(2)班”

INSERT INTO student VALUES( '小红',12, '3年(2)班');

4、删除Student表中name为“小红”的记录

delete from Student where name="小红";

5、将Student表中name为小红,改为小小丽

UPDATE Student1 SET `name` = '小小丽' WHERE `name` = '小红'

6、求出每个年龄层的人数

SELECT age,COUNT(*) FROM `Student` GROUP BY age

在这里插入图片描述
如果将上面的要求改成求出11岁的学生人数有几个,那么SQL语句就是

SELECT age,COUNT(*) FROM `Student` GROUP BY age having age=11

如果说求出班级的学生人数,也就是求学生表的总数

SELECT COUNT(*) FROM `Student` 

7、简单去重,求出去除重复名字后的名字列

SELECT DISTINCT `NAME` FROM Student1

8、求出年龄字段有重复的

select age,count(*) from Student group by age having count(*) > 1

创建有默认值且限定字段值的表
例子:创建一个员工表,要求有sex字段,且sex仅限男女两种值,默认是男
(1)如果是以下创建方式,sex字段插入非男或者非女值,是不会报错的,原因未知

CREATE TABLE employee (id INT ( 255 ) NOT NULL PRIMARY KEY,NAME VARCHAR ( 10 ) NOT NULL,sex CHAR ( 1 ) DEFAULT '男' CHECK (sex IN ( '男', '女' )),
phone INT ( 13 ) NOT NULL 
)

(2)如果是以下这种创建方式,sex字段插入非男或者非女值,是会报错的

CREATE TABLE employee (id INT ( 255 ) NOT NULL PRIMARY KEY,NAME VARCHAR ( 10 ) NOT NULL,`sex` enum('男','女') default '男',phone INT ( 13 ) NOT NULL 
)

求出最大id的男女两条数据
employee表如下:
在这里插入图片描述

select * from `employee` a where a.id in
(SELECT MAX(id) FROM `employee` 
GROUP BY employee.sex)

上述的SQL虽然实现了效果,但是呢,执行速度是比较慢的,经过一番调整,所以就有了另外一种呈现方式

SELECT b.* FROM (SELECT a.* FROM `employee` a ORDER BY a.id DESC LIMIT 10000) b
GROUP BY
b.sex

多表联合查询
这是学生表student,其中sex字段的1代表男生,0代表女生
在这里插入图片描述
这是班级表class
在这里插入图片描述

这是学生班级表student_class
在这里插入图片描述
1、求出“1年1班”的学生名字和对应分数

SELECT a.s_name,a.score FROM student a 
WHERE a.s_id IN (SELECT s_id FROM student_class 
WHERE c_id IN  (SELECT c_id FROM 
class WHERE c_name="1年1班"))

查询结果如下
在这里插入图片描述
如果是上述的结果,感觉和题干不是很贴切,没有把班级名称c_name给返回,所以严谨点,sql语句查询如下

SELECT s.s_id,s.s_name,s.score,sc.c_id,c.c_name 
from student s  JOIN student_class sc on 
s.s_id = sc.s_id JOIN 
class c on sc.c_id=c.c_id  and 
c.c_name='1年1班';

返回的结果是
在这里插入图片描述

2、求出c_id为201的平均分

SELECT AVG(a.score) FROM student a JOIN 
student_class b on a.s_id=b.s_id AND 
b.c_id=201

在这里插入图片描述

再来一个比较相对复杂的,也是最近从同事那里学习到的。
class表结构如下

class_idclass_name
1011年1班
2012年1班
3013年1班
4014年1班
teacher表结构如下
teacher_idteacher name
1王老师
2张老师
通过上面两个表,求出张老师分别教哪些班级
SELECT teacher.teacder_name,class.class_id,class.class_name FROM teacher,`class` WHERE  FIND_IN_SET (class_id,( SELECT class_id FROM teacher WHERE teacher.teacder_name="张老师")) AND teacher.teacder_name="张老师"

在这里插入图片描述
2022-12-02补充:
获取当前时间戳
select current_timestamp(),格式为日期时间"2022-12-02 09:40:02"
获取当前日期
select current_date(),格式为“2022-12-02”;


http://chatgpt.dhexx.cn/article/tU6HMCKS.shtml

相关文章

「软件测试」最全面试问题和回答,全文背熟不拿下offer算我输

一般要应聘关于测试的工作,面试题会不会很难?下面小编整理了软件测试面试题及答案,欢迎参考! 一、引言 1.1 文档目的 本次文档是为了收集在面试中遇到的一问题与常见的一些答案并不是唯一答案 二、职业规划 2.1 简单的自我介绍下 面试宫&#xff…

软件测试常见面试题合集(内附详细答案)

最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。 为此我业余时间整理了这份软件测试基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可。 01 软件测试理论部分 1.1…

软件测试十大必问面试题(附答案和解析)

01 介绍之前负责的项目 参考答案:先大概描述一下这个项目是做什么的(主要功能),包括哪些模块,是什么架构的(B/S、C/S、移动端?),你在其中负责哪些模块的测试。期间经历了…

计算机专业在线杂志,计算机类的cscd期刊汇总

时间:2020-01-08 12:00 (12) 摘要:Cscd是中国科学引文数据库的英文简称,属于核心期刊数据库,收录的学科范围有数学、物理、天文学、地理学、计算机类等等,人们在评高级职称的时候需要在核心期刊上发表论文,…

计算机类知识期刊,计算机类期刊投稿

计算机现在已经成为信息社会中必不可少的工具。特别是在互联网、通信、多媒体等领域的应用取得了不错的成绩。关于计算机类的论文也随之出现,论文的发表选择期刊也成为了作者们关心的问题,下面小编就给大家推荐几个计算机类可投稿的期刊: 1.《…

国内计算机论文期刊,国内都有哪些计算机领域的投稿期刊

国内都有哪些计算机领域的投稿期刊 发布时间:2019-01-14 15:11浏览: 次 计算机在各行各业都得到了广泛的应用,而这一方向的从业人员也越来越多,他们也是可以评定计算机工程师职称的,但也需要发表计算机方向的论文&…

论文写作笔记1:医学跨计算机期刊介绍

计算机方面的在dblp搜: dblp: computer science bibliography https://www.sciencedirect.com/science/article https://stat.paperswithcode.com/ 然后看所发表的期刊会议直接看Ccf目录: 中国计算机学会(CCF)推荐国际学术会议和期刊目录(2019)-单页…

计算机科学是ei期刊吗,EI计算机期刊有哪些

工程索引(EI)是由美国工程师学会联合会于1884年创办的历史上最悠久的一部大型综合性检索工具。EI在全球的学术界、工程界、信息界中享有盛誉,是科技界共同认可的重要检索工具。那么EI计算机期刊有哪些呢? 下面编辑就为打击整理了一些EI计算机期刊,供大家…

计算机信息技术,有哪些SCI期刊推荐?

以下是计算机信息技术领域的SCI期刊介绍: IEEE Transactions on Computers: IEEE计算机学会的权威期刊,发表计算机领域的研究论文,包括硬件、软件、算法等方面。 ACM Transactions on Computer Systems: ACM计算机协…

工作流

导读: -- 工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标&#…

工作流之收回

收回 收回是工作流参与者对自己“已办任务”(对已完成的工作项)的一种操作,即参与者主动对已办理过的工作项进行重新办理。 为什么要收回? 参与者完成任务后,发现自己办理有错误等情况后,需要将此任务收回重新办理。 工作项的参与方式 目前有四种方式:共同参与、竞…

工作流实现分合流(多人、多部门分工处理)的介绍

分合流:顾名思义,想长江一样,有主流河流和分支河流,有起点,有终点。 适用范围:多人、多角色、多岗位、多部门等相互独立审批工作、处理工作,同时又可在某个步骤中查看工作的汇总、或者过程、或者…

1.工作流简介

1.工作流 工作流(Workflow): 通过计算机对业务流程进行自动化执行管理,解决在多个参与者直接按照某种预先定义的规则自动传递文档,信息或任务的过程,从而实现某个预期的业务目标或者促使目标的实现. 工作流管理系统(Workflow Management System, WfMS)是一个软件系统&#x…

工作流 JNPF 开发平台工作流引擎 工作流系统 工作流平台 3.4版本 开发框架源码部署文档入门说明

前端技术栈 Vue 全家桶 element-ui axios sass echarts dayjs 后端技术栈 主框架:Spring Boot Spring Framework 持久层框架:Mybatis-plus、Hibernate Validation、Alibaba Druid JSON序列化: Jackson 数据缓存:Redis 项目构建:…

工作流管理

工作流管理 前几天在 DevSuite 中设计项目工作流时,突然想研究一下工作流这个概念了,所以考虑一段时间也Google了一把,现在来开始写写想后感,呵呵。 先Show一下我设计一个工作流程图,比较简单,适合业务流程…

【工作流】工作流快速入门

【是什么】 工作流是一类能够完全或者部分自动执行的经营过程,它根据一些列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。 工作流程:流程就是一组活动按照一定顺序组成的序列流,简单说,流程就是一个实实在在…

工作流01

工作流 workflow 18.1 状态机解决流程问题 工作流:就是一个可以处理复杂情况的状态机。 例如,员工请假这个流程:首先员工提交请假申请,假设有项目经理进行审批,审批有两种结果:通过或者拒绝。 实现上面这个…

工作流[zt]

工作流 做过不短时间的工作流,一直没有进行好好的总结。最近theserverside.com登了下面的文章, The State of Workflow, 文章的内容比较浅显,概要介绍了工作流的基础。我也做个小结。 工作流的模型大多数都是参考WfMC的模型从图中可以看到有5个接口。实…

工作流体系----走进工作流管理平台(flowable版)(3)

当我们完成流程预设置后,整体产品体系就基本成型了------2021年8月20日,我对长沙团队的兄弟们说。 历经了一年半的从头再来,我们基本恢复到.net平台80%的水平了。我们会尽快的完善相关的业务,抓住核心主线 【合同/案件/法务/合规…

工作流 - 2 工作流发展

工作流 - 目录 工作流 - 2 工作流发展 一、工作流 - 发展1. JBPM2. activiti3. flowable4. camunda5. 对比6. 主要人物和发展历史 一、工作流 - 发展 1. JBPM 官网:https://jbpm.org/ 目前最新版本: 7.38.0分水岭jbpm5:BPM5使用http://jBo…