软件测试面试之数据库部分

1.取第 4 到5 条记录

--按ID从小到大,查询第到第条数据 
select top4 *from(select top5 * from qicheorder by ID asc
) as TA
order by ID desc--按ID从小到大,查询第到第条数据
select top 2*from(select top 4 *from qicheorder by ID asc
)as TA
order by ID desc--按ID从小到大,查询第m到第n条数据
select top nm+1 *from(select top n*from qicheorder by ID asc
)as TA
order by ID desc

2. 有主键情况下如何去重

重复的品牌只剩一条(去重)
delete  from qiche
where id not in(select max(id)from qichegroupby pinpai
)

3.无主键情况下如何去重

--情况:无ID或主键的时候
create table aaa(sname varchar(10))--1、查询不重复的姓名
select distinct sname from aaa--2、保存到临时表
select distinct sname into ta from aaa
select *from ta--3、删除源表数据
delete from aaa--4、将临时表数据导回源表
insert into aaa select * from ta
select *from aaa--5、删除临时表
drop table ta

4.数据库查询练习

--查询和张三丰同龄人的信息
select *
from B student
where YEAR(GETDATE())-YEAR(s_birthday)=(select YEAR(GETDATE())-YEAR(s_birthday)from B_studentwhere s_name='张三丰'
)--查询哪些学生至少学了2门课程
select s name,COUNT(*)as 学习课程数量
from B_student,B_score
where B_student.s_id=B_score.sc_stu_id
group by s name
having COUNT(*)>=2--查询梅超风有哪些课没考试(无成绩)
select c_name
from B_student,B_course,B_score
where B_student.s_id=B_score.sc_stu_idand B_course.cid=B_score.sc_c_idand s_name ='梅超风'and sc_grade is null--将高等数学成绩最高的学生的物理成绩加分
update A_studentcourse
set sc_score=sc score +10
where sccno =(select c_nofrom A_courseinfowhere c_subject='物理
)
and sc_sno in(select sc_snofrom A_courseinfo,A_studentcoursewhere A courseinfo.c_no =A_studentcourse.sc_cnoand c_subject ='高等数学'and sc_score =(select MAX(sc score)from A_courseinfo,A_studentcoursewhere A_courseinfo.c_no =A_studentcourse.sc_cnoand c_subject ='高等数学')
)库存查询
--表1:入库表(ID、货物名称、入库数量)【每个物品入库1次】
--表2:出库表(ID、货物名称、出库数量)【每个物品可以出库多次】
--求:每个货物的库存
--总思路:入库总数量-出库总数量
create table ruku(r_id int identity(1,1),r_name varchar(10),r_count int
)create table chuku(c_id int identity(1,1),C_name varchar(10),c_count int
)
insert into ruku values('苹果',100)
insert into ruku values('樱桃'100)insert
insert into chuku values('苹果',20)
insert into chuku values('苹果'20)
insert into chuku values('樱桃'60)select r_name,(r_count-su)as剩余
from ruku,(select c_name,SUM(c_count)as sufrom chuku group by c_name)as zongchuku
where ruku.r_name = zongchuku.c_name

5.联接查询的种类并举例

1)、内部联接
内部联接(典型的联接运算,使用类似于=或<>的比较运算符)。内部联接包括同等联接和自然联接。
内部联接使用比较运算符根据每个表的通用列中的值匹配两个表中的行。例如,检索 students和courses 表中学生标识号相同的所有行。
2)、外部联接
外部联接。外部联接可以是左向外部联接、右向外部联接或完整外部联接。
在FROM 子句中可以用下列某一组关键字来指定外部联接:
2.1)、左外联接
LEFT JOIN 或 LEFT OUTER JOIN。
左向外部联接的结果集包括 LEFTOUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹面的行。如果左表的某一行在右表中没有匹配行,则在关联的结果集行中,来自右表的所有选择列表列均为空值。
2.2)、右外联接
RIGHT JOIN 或RIGHT OUTER JOIN右向外部联接是左向外部联接的反向联接。将返回右表的所有行。如果右表的某一行在左表中没有匹配行,则将为左表返回空值。
2.3)、全外联接
FULLJOIN 或 FULLOUTER JOIN
完整外部联接将返回左表和右表中的所有行。当某一行在另一个表中没有匹配行时,另一个表的选择列表列将包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
3)、交叉联接

交叉联接将返回左表中的所有行。左表中的每一行均与右表中的所有行组合。交叉联接也称作笛卡尔积。

建表:
create table students(id int primary key,name varchar(10),age int
)
create table phone (id int primary key,stuid int,code varchar(20)
)
构造测试数据:
insert students values(1,'张三'18)
insert students values(2,李'19)
insert phone values(1,1,'666')
insert phone values(2,1,777')
insert phone values(3,6,'888')
--内联(=)
select name,code
from students,phone
where students.id =phone.stuidselect name,code
from students inner join phoneon students.id =phone.stuid

显示结果

--左外联:将左边的表当作“基准"表,显示所有记录SELECT name,code
FROM students LEET OUTER JOIN phone
ON students.id =phone.stuid
-右外联:将右边的表当作“基准"表,显示所有记录
SELECT name,code
FRoM phone right OUTER JoIN students
ON students.id = phone.stuid
--全外联:将左、右表分别作为基准表
SELECT name,code
FROM phone full OUTER JOIN students
ON students.id=phone.stuid
--交叉联接(笛卡尔积)
select name,code
from students,phone

6.SQL Server 和 Oracle 数据库的区别

SQL Server 和 Oracle 都是非常流行的关系型数据库管理系统,它们在一些方面有一些区别:

  1. 开发商:SQL Server 是由Microsoft开发和维护的,而Oracle是由Oracle Corporation开发和维护的。

  2. 成本:SQL Server 通常比Oracle更便宜,而且有一些免费版本可供使用。而Oracle的许可费用通常较高。

  3. 平台支持:SQL Server 只能在Windows操作系统上运行,而Oracle可以在多个操作系统上运行,包括Windows、Linux、Unix等。

  4. 特性和功能:SQL Server 和 Oracle 在功能和特性方面都有一些差异。例如,SQL Server 更强调对BI(商业智能)和数据分析的支持,而Oracle更适合于大型企业级应用程序。

  5. 备份和恢复:Oracle 在备份和恢复方面提供了更多的选项和灵活性,包括逻辑和物理备份方法。而SQL Server 的备份和恢复过程相对简单。

  6. 扩展性和性能:在处理大规模数据和高并发访问方面,Oracle 通常比SQL Server 更强大和可扩展。

总的来说,选择 SQL Server 还是 Oracle 取决于具体的需求和应用场景。  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/61200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年第十三届”认证杯“数学中国数学建模国际赛(小美赛)

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

移远通信携手紫光展锐,以“5G+算力”共绘万物智联新蓝图

11月26日&#xff0c;2024紫光展锐全球合作伙伴大会在上海举办。作为紫光展锐重要的合作伙伴&#xff0c;移远通信应邀参会。 在下午的物联网生态论坛上&#xff0c;移远通信产品总监胡勇华作题为“5G与算力双擎驱动 引领智联新未来”的演讲&#xff0c;深度剖析了产业发展的趋…

Microsoft Excel如何插入多行

1.打开要编辑的excel表&#xff0c;在指定位置&#xff0c;鼠标右键点击“插入”一行 2.按住shift键&#xff0c;鼠标的光标箭头会变化成如下图所示 3.一直按住shift键和鼠标左键&#xff0c;往下拖动&#xff0c;直至到插入足够的行

Leetcode322.零钱兑换(HOT100)

链接 代码&#xff1a; class Solution { public:int coinChange(vector<int>& coins, int amount) {vector<int> dp(amount1,amount1);//要兑换amount元硬币&#xff0c;我们就算是全选择1元的硬币&#xff0c;也不过是amount个&#xff0c;所以初始化amoun…

力扣 二叉树的层序遍历-102

二叉树的层序遍历-102 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>> res; // 二维数组用来存储每层节点if (root nullptr)return res;queue<TreeNode*> q; // 队列用来进行层序遍历q.push(r…

kafka生产者和消费者命令的使用

kafka-console-producer.sh 生产数据 # 发送信息 指定topic即可 kafka-console-producer.sh \ --bootstrap-server bigdata01:9092 \ --topic topicA # 主题# 进程 29124 ConsoleProducer kafka-console-consumer.sh 消费数据 # 消费数据 kafka-console-consumer.sh \ --boo…

跨平台应用开发框架(3)-----Qt(样式篇)

目录 1.QSS 1.基本语法 2.QSS设置方式 1.指定控件样式设置 2.全局样式设置 1.样式的层叠特性 2.样式的优先级 3.从文件加载样式表 4.使用Qt Designer编辑样式 3.选择器 1.类型选择器 2.id选择器 3.并集选择器 4.子控件选择器 5.伪类选择器 4.样式属性 1.盒模型 …

阅读《基于蒙特卡洛法的破片打击无人机易损性分析》_笔记

目录 基本信息 1 引言 1.1 主要研究内容 1.2 研究必要性&#xff08;为什么要研究&#xff09; 1.3 该领域研究现状&#xff08;别人做了什么/怎么做的&#xff09; 2 主要研究过程&#xff08;我们做了什么&#xff09; 2.1 建立目标仿真模型 2.2 确定毁伤依据 2.3 无…

上海乐鑫科技一级代理商飞睿科技,ESP32-C61高性价比WiFi6芯片高性能、大容量

在当今快速发展的物联网市场中&#xff0c;无线连接技术的不断进步对智能设备的性能和能效提出了更高要求。为了满足这一需求&#xff0c;乐鑫科技推出了ESP32-C61——一款高性价比的Wi-Fi 6芯片&#xff0c;旨在为用户设备提供更出色的物联网性能&#xff0c;并满足智能设备连…

Qt Graphics View 绘图实例

Qt Graphics View 绘图实例 这个实例程序实现如下功能&#xff1a; 可以创建矩形、椭圆、三角形、梯形、直线、文字等基本图形。每个图形项都可以被选择和移动。图形项或整个视图可以缩放和旋转。图形项重叠时&#xff0c;可以调整前置或后置。多个图形项可以组合&#xff0c;…

JDK17源码系列-AbstractCollection接口源码解读

JDK17源码系列-AbstractCollection接口源码解读 1、AbstractCollection类图结构 2、AbstractCollection是实现Collection接口的顶级抽象类 3、模版方法&#xff0c;由子类实现 public abstract Iterator iterator()public abstract int size() 4、实现接口public boolean is…

深入浅出:JVM 的架构与运行机制

一、什么是JVM 1、什么是JDK、JRE、JVM JDK是 Java语言的软件开发工具包&#xff0c;也是整个java开发的核心&#xff0c;它包含了JRE和开发工具包JRE&#xff0c;Java运行环境&#xff0c;包含了JVM和Java的核心类库&#xff08;Java API&#xff09;JVM&#xff0c;Java虚拟…

任意文件读取漏洞(CVE-2024-7928)修复

验证CVE-2024-7928问题是否存在可以使用如下方法&#xff1a; https://域名/index/ajax/lang?lang..//..//目录名/文件名&#xff08;不带后缀&#xff09; 目录名是该项目的一个目录&#xff0c;这里目录位置为nginx设置站点目录为基准&#xff0c;网上两层目录。 文件名…

宠物领养系统的SpringBoot技术探索

摘 要 如今社会上各行各业&#xff0c;都在用属于自己专用的软件来进行工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。互联网的发展&#xff0c;离不开一些新的技术&#xff0c;而新技术的产生往往是为了解决现有问题而产生的。针对于宠物领养…

2-深度学习入门(持续更新)

数据操作 1&#xff09;获取数据&#xff1b;&#xff08;2&#xff09;将数据读入计算机后对其进行处理。 n维数组&#xff0c;也称为张量&#xff08;tensor&#xff09;。 使用过Python中NumPy计算包的读者会对本部分很熟悉。 无论使用哪个深度学习框架&#xff0c;它的张…

HTML CSS JS基础考试题与答案

一、选择题&#xff08;2分/题&#xff09; 1&#xff0e;下面标签中&#xff0c;用来显示段落的标签是&#xff08; d &#xff09;。 A、<h1> B、<br /> C、<img /> D、<p> 2. 网页中的图片文件位于html文件的下一级文件夹img中&#xff0c;…

火山引擎VeDI在AI+BI领域的演进与实践

随着数字化时代的到来&#xff0c;企业对于数据分析与智能决策的需求日益增强。作为新一代企业级数据智能平台&#xff0c;火山引擎数智平台VeDI基于字节跳动多年的“数据驱动”实践经验&#xff0c;也正逐步在AI&#xff08;人工智能&#xff09;与BI&#xff08;商业智能&…

Could not locate device support files.

报错信息&#xff1a;Failure Reason: The device may be running a version of iOS (13.6.1 17G80) that is not supported by this version of Xcode.[missing string: 869a8e318f07f3e2f42e11d435502286094f76de] 问题&#xff1a;xcode15升级到xcode16之后&#xff0c;13.…

数据结构与算法(排序算法)

排序的概念 1. 排序是指将一组数据&#xff0c;按照特定的顺序进行排列的过程。 2. 这个过程通常是为了使数据更加有序&#xff0c;从而更容易进行搜索、比较或其他操作。 常见的排序算法 插入排序 1. 把待排序的记录&#xff0c;按其关键码值的大小&#xff0c;逐个插入到一…

Scala身份证上的秘密以及Map的遍历

object test {def main(args: Array[String]): Unit {val id "42032220080903332x"//1.生日是&#xff1f;//字符串截取val birthday id.substring(10,14) //不包括终点下标println(birthday)val year id.substring(6,10) //println(year)//性别&#xff1a;倒数第…