测试面试必会sql(1)
测试一般各种查询语句用的较多,下面的查询语句都是需要熟悉的
Course表

Score表

Student表

Teacher表

1,查询课程编号为“02”的总成绩
SELECT * FROM `Score` where c_id=02;

2,查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号
SELECT st.*,a.s_core,b.s_core
FROM Student st
INNER JOIN (SELECT s_id,s_core from Score where c_id='01') a ON st.s_id=a.s_id
INNER JOIN (SELECT s_id,s_core FROM Score WHERE c_id='02') b ON a.s_id=b.s_id
WHERE a.s_core>b.s_core;

3,查询没学过“张三”老师课的学生的学号、姓名
SELECT st.s_id,st.s_name
from Student st
WHERE st.s_id not in
(SELECT sc.s_id from Score sc INNER JOIN Course co on sc.c_id=co.c_id
INNER JOIN Teacher te on te.t_id=co.t_id
WHERE te.t_name='张三');

4,查询没有学全所有课的学生的学号、姓名
SELECT st.s_id,st.s_name FROM Student st
INNER JOIN Score sc on st.s_id=sc.s_id
GROUP BY st.s_id HAVING COUNT(c_id)<(SELECT COUNT(DISTINCT c_id)from Course);

5,查询平均成绩大于60分的学生的学号和平均成绩
SELECT s_id as "学号",avg(s_core) as "平均成绩" from Score GROUP BY s_id HAVING avg(s_core)>60

6,查询所有学生的学号、姓名、选课数、总成绩
SELECT Student.s_id,Student.s_name,count(Score.c_id),sum(Score.s_core)
FROM Student
JOIN Score
on Student.s_id=Score.s_id
GROUP BY Student.s_id;

7,查询姓“猴”的老师的个数
SELECT count(t_id)
FROM `Teacher`
where t_name like"猴%";

8,查询学过“张三”老师所教的所有课的同学的学号、姓名
SELECT st.s_id as '学号',st.s_name as '名称'
from Student st
WHERE st.s_id in
(SELECT sc.s_id from Score sc INNER JOIN Course co on sc.c_id=co.c_id
INNER JOIN Teacher te on te.t_id=co.t_id
WHERE te.t_name='张三');

9,查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名
SELECT *
FROM Student St
INNER JOIN Score Sc
on Sc.s_id=St.s_id
WHERE c_id = '01'and c_id ='02';

10,查询至少有一门课与学号为“01”的学生所学课程相同的学生的学号和姓名
SELECT st.s_id,st.s_name
from Student st
INNER JOIN Score sc
on st.s_id=sc.s_id
WHERE c_id IN (SELECT c_id from Score where s_id = 01) and st.s_id <> 01
GROUP BY st.s_id

测试面试必会sql(1)的更多相关文章
- 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)
现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...
- MySQL面试必考知识点:揭秘亿级高并发数据库调优与最佳实践法则
做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对它掌握越清晰越深入,你能做的事情就越多. 今天我们用10分钟 ...
- cvte春招测试面试记录
cvte春招测试面试记录,挂在了综合面试(hr面)...尽量回忆面试的问题(可能不完全). 技术面一面: 1.自我介绍 2.根据实习项目问,智能客服怎么测正确率之类的. 3.测试人脸解锁 4.测试微信 ...
- linux驱动工程面试必问知识点
linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化, ...
- 互联网公司面试必问的Redis题目
Redis是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到.Redis相关的问题可以说是面试必问的,下面我从个人当面试官的经验,总结几个必须要掌握的知识点. 介绍:Redi ...
- 互联网公司面试必问的mysql题目(下)
这是mysql系列的下篇,上篇文章地址我附在文末. 什么是数据库索引?索引有哪几种类型?什么是最左前缀原则?索引算法有哪些?有什么区别? 索引是对数据库表中一列或多列的值进行排序的一种结构.一个非常恰 ...
- 互联网公司面试必问的mysql题目(上)
又到了招聘的旺季,被要求准备些社招.校招的题库.(如果你是应届生,尤其是东北的某大学,绝对福利哦) 介绍:MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品.虽然单机性能比不上or ...
- python笔记39-unittest框架如何将上个接口的返回结果给下个接口适用(面试必问)
前言 面试必问:如何将上个接口的返回结果,作为下个接口的请求入参?使用unittest框架写用例时,如何将用例a的结果,给用例b使用. unittest框架的每个用例都是独立的,测试数据共享的话,需设 ...
- Java面试必知必会:基础
面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力.但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点. 一.基础 包括: 杂七杂八 面向对象 数 ...
随机推荐
- docker启动容器关于防火墙报错
在重启docker工程时候出错: [root@hadoop-alone ~]# docker start padError response from daemon: driver failed pr ...
- djb2:一个产生简单的随机分布的哈希函数
目录 LCG算法 示例代码 djb2 示例代码 为什么选择参数33和 33 was chosen because: 5381 was chosen because 哈希选择参考 LCG算法 djb2与 ...
- webapi 异常处理
参考:https://docs.microsoft.com/zh-cn/aspnet/web-api/overview/error-handling/exception-handling ①HttpR ...
- SpringMVC转发页面405错误
需要在该方法前加上:@ResponseBody注解 加上这个注解后可能在转发页面的时候出现问题,则需要在方法的参数中增加HttpServletRequest 和HttpServletResponse参 ...
- JavaScript互斥锁案例
朋友今天问起来关于JS中多个函数共享同一个全局变量时,顺序调用执行的函数,前者修改了全局变量值,后调用的函数访问时却为undefined. 前不久开发项目过程中,队友也遇到了同样的问题,索性就写份博客 ...
- JS知识点整理(二)
前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...
- Hbuilder软件打包简述
Hbuilder打包简述: : Hbuilder安装打包Android不需要任何证书可以正常打包. : ios打包需要.mobileprovision证书和P12文件.(.mobileprovisio ...
- oracle基础教程oracle客户端详解
oracle基础教程oracle客户端工具详解 参考网址:http://www.oraclejsq.com/article/010100114.html 该教程介绍了oracle自带客户端sqlplu ...
- office365离线安装
office版本是在线安装,每次安装比较麻烦,所以还是离线安装合适,这里推荐一篇博文https://www.cnblogs.com/Devopser/p/7919245.html 但是由于部署工具变化 ...
- MySQL学习之路(一)——初涉MySQL。
MySQL学习之路(一) 1.1MySQL的概述 MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一个开源的关系型数据库管理系统. MySQL分为社区版和企业版. 1 ...