秋招数据库学习2(20240408-20240412共10道)

由于感觉数据库难度可能暂时面试用不到,就先不刷啦

20240408

1.从不订购的客户

在这里插入图片描述
在这里插入图片描述

SELECT Name AS Customers  
FROM Customers C LEFT JOIN Orders O  
ON C.Id = O.CustomerId  
WHERE CustomerId is null
select customers.name as 'Customers' 
from Customers 
where Customers.id not in (     select customerid from Orders );

耗时久

20240409

184.部门工资最高的员工

select Department.name AS 'Department',Employee.name AS 'Employee',Salaryfrom Employee join Department on   Employee.departmentID=Department.id where  (Employee.departmentID,Salary) in  (select         DepartmentID,MAX(Salary)     from         Employee     group by departmentID         );

SQL的执行顺序是:FROM–WHERE–GROUP BY–HAVING–SELECT–ORDER BY

185.部分工资前三高的员工

耗时久

select d.name as 'Department',e1.name as 'Employee',e1.salary 
from Employee e1 join Department d on e1.departmentId=d.id  
where 3>(     select count(distinct e2.salary)     
from Employee e2     
where e2.salary>e1.salary             
and e1.departmentId=e2.departmentId )

耗时较短

select d.name as department, e1.name as employee,e1.salary as salary   
from employee e1  inner join department d  on e1.DepartmentId = d.id  where e1.name 
in   (     select e3.namefrom  employee e3left join employee e                   on e3.DepartmentId = e1.departmentid                   and e3.Salary < e1.salary                        and e3.id != e1.idgroup by  1    having count(distinct e1.salary) < 3 )

20240411

197.上升的温度

select a.id  from  Weather as a,Weather as b  where datediff(a.recordDate,b.recordDate) = 1  and a.Temperature >b.Temperature; 
select a.ID from weather as a cross join weather as b         
on timestampdiff(day, a.recordDate, b.recordDate) = -1   
where a.Temperature > b.Temperature;

在这里插入图片描述在这里插入图片描述

511.游戏玩法分析I

select A.player_id,Min(event_date) as first_login from Activity A group by A.player_id;

这个不加别名A会运行超时,原因:

550.游戏玩法分析IV

select ifnull(round(count(distinct(Result.player_id))/count(distinct(Activity.player_id)),2),0) 
as fraction 
from(         
select Activity.player_id as player_id     
from(         
select player_id,date_ADD(Min(event_date),interval 1 day) as second_date         
from Activity         
group by player_id     ) as Expected,Activity     
where Activity.event_date=Expected.second_date 
and Activity.player_id=Expected.player_id  ) as Result,Activity

570.至少有5名直接下属

select Manager.Name as Name 
from Employee as Manager join Employee as Report 
on Manager.id=Report.ManagerID 
group by Manager.id 
having count(Report.id)>=5

知识点学习:

  • where后接的是用来筛选结果的查询条件

  • 存储过程包含很多行SQL语句,但在客户机调用存储过程时,网络中只要传送调用存储过程的语句,而无需在网络中发送很多行代码,减少了网络流量,特别是大型、复杂的数据处理,存储过程无需将中间结果集送回客户机,只要发送最终结果。

  • inner join时只会对非NULL的记录做join

  • 数据控制语言DCL,主要用于对用户权限的授权和回收;DDL主要的命令有CREATE、ALTER、DROP等,大多在建立表时使用;DML包括SELECT、UPDATE等,对数据库里的数据进行操作;数据库事务包括COMMIT、ROLLBACK等,主要用于对事务的提交、回收和设置保存点。

  • drop>trustcate>delete区别:

    • 1:处理效率:drop>trustcate>delete
    • 2:删除范围:drop删除整个表(结构和数据一起删除);trustcate删除全部记录,但不删除表结构;delete只删除数据
    • 3:高水位线:delete不影响自增ID值,高水线保持原位置不动;trustcate会将高水线复位,自增ID变为1。
  • MySQL中ALTER TABLE命令可以修改数据表的表名或数据表的字段。但是接不同后缀意义不同,比如: 要修改表名或索引名时,可以用RENAME函数;当然RENAME也可以更改列名,但是后面要加TO,且它只会更改列的名字,并不更改定义。 要修改字段定义和名称,可以用MODIFY或CHANGE函数。但是MODIFY只改字段定义,不改名字;CHANGE是两个都可以修改。 要修改字段默认值,可以用ALTER 字段名 SET DEFULT 更改值。 所以根据题意,要修改表名,只能用RENAME函数,因此A正确;

20240412

2356.每位教师所教授的科目种类

select teacher_id,count(distinct subject_id) as cnt from teacher  group by teacher_id

1148.文章浏览I

select  distinct author_id as id  from Views where author_id=viewer_id order by id 

1633.各赛事的用户注册率

select contest_id,round(count(user_id)*100/(select count(*) from users),2) percentage 
from Register 
group by contest_id 
order by percentage desc,contest_id
  1. ucase是转换成大写函数
  2. 关系代数有五个基础运算符,这五个基础运算符能派生出其他组合运算符。它们分别是:
  3. 选择(σ, selection)、投影(π, projection)、叉乘(x, cross-product)、
  4. 差(-, set-difference)和并(υ, union)
  5. 它们和SQL语句的对应关系为:
  6. 选择(σ, selection)相当于SQL语句中的where,表示选出满足一定条件的行。 如:σ rating>8 (S2)相当于 select * from S2 where rating>8;
  7. 投影(π, projection)相当于SQL语句中的select。。。distinct, 表示选择哪些列。注意:投影是会去重的! 如:π sname,rating (σ rating>8 (S2))相当于 select sname, rating from S2 where rating>8;
  8. 叉乘(x, cross-product)相当于SQL语句中的from,表示穷举所有集合两边元素的组合量 如: AxB 相当于 select * from A, B; 注意:叉乘时两个集合不能有重名列
  9. 差(-, set-difference)R-S返回所有在R中而不在S中的元组
  10. 并(υ, union)RυS返回包含在R中或在S中的所有元组
  11. SQL语言的组成部分有:数据定义语言、数据处理语言、数据控制语言、数据库事务。数据字典是关于数据库中数据的描述,是元数据,而不是数据本身。
  12. 在这里插入图片描述

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

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

相关文章

手写ArrrayList

需求 自定义的MyArrayList import java.util.Arrays; import java.util.Objects;public class MyArrayList<E> {private Object[] elementData ; // 存储元素的数组private int size; // 记录 的元素个数private static final int DEFAULT_CAPACITY 10; // 默认容量// …

Eigen笔记2:矩阵拼接

直接贴代码吧&#xff0c;使用的MatrixXd 和<<运算符&#xff1a; int main(int argc, char *argv[]) {Eigen::MatrixXd B(2, 2);B << 1, 2,3, 4;Eigen::MatrixXd C(2, 2);C << 5, 6,7, 8;Eigen::MatrixXd D(2, 2);D << 9, 10,11, 12;Eigen::MatrixXd…

基于React封装Handsontable并兼容antd

背景 其实Handsontable官方也提供了React的版本&#xff0c;但是官方的版本再编辑和渲染的时候并不能够很好的嵌入第三方的组件库。这就导致了&#xff0c;使用了Handsontable就没有办和普通的react项目一样轻松引用其他第三方组件。因此对其react的版本进行了二次的封装&#…

Django中间件路由映射自动加/斜杠问题原因及分析

输入 http://127.0.0.1:8000/main/index/ 输入 http://127.0.0.1:8000/main/index 路由定义情况 urlpatterns [path("index/", views.index) ]可以发现我在输入URL的index路由时&#xff0c;如果没有和Django定义的路由匹配规则一样的话&#xff0c;浏览器自…

Vim:强大的文本编辑器

文章目录 Vim&#xff1a;强大的文本编辑器Vim的模式命令模式常用操作光标移动文本编辑查找和替换 底行命令模式常用操作Vim的多窗口操作批量注释与去注释Vim插件推荐&#xff1a;vimforcpp结论 Vim&#xff1a;强大的文本编辑器 Vim&#xff0c;代表 Vi IMproved&#xff0c;…

如何确保软件通过SmartScreen验证,消除用户下载时的警告提示?

在当前的网络时代&#xff0c;各种软件应用程序深深渗透到人们的日常生活和工作中&#xff0c;许多企业选择自行开发应用程序以推进其业务发展。但在发布应用程序后&#xff0c;软件所有者经常会遇到一个挑战&#xff0c;即用户在下载时可能会遇到微软SmartScreen提示“此应用程…

探索HTTP协议的世界 | 从基础到高级应用,原理与实践相结合(请求篇)

从基础到高级应用&#xff0c;原理与实践相结合 什么是Http历代Http协议主要特点格式和URL协议内容请求行格式如下请求方法简单案例 消息报头报头域的格式HTTP消息报头类型普通报头优化方向报头&#xff08;缓存&#xff09;Cache-Control的选项其他相关的缓存报头 请求报头Acc…

Unity TMP Inputfield 输入框 框选 富文本 获取真实定位

一、带富文本标签的框选是什么 UGUI的InputField提供了selectionAnchorPosition和selectionFocusPosition&#xff0c;开始选择时的光标下标和当前光标下标 对于未添加富文本标签时&#xff0c;直接通过以上两个值&#xff0c;判断一下框选方向&#xff08;前向后/后向前&…

C#Winform使用扩展方法自定义富文本框(RichTextBox)字体颜色

实现效果 调用方法 rtxtLog.AppendTextColorful(richTextBox1,DateTime.Now.ToString(), Color.Red); 完整代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using Sys…

【U8+】用友固定资产卡片拆分提示:未设置对象变量或With block变量。

【问题描述】 用友U8软件中&#xff0c; 操作固定资产模块&#xff0c;针对资产进行卡片拆分的时候&#xff0c; 提示&#xff1a;未设置对象变量或With block变量。 确定后仍然能打开卡片拆分界面&#xff0c;但是界面显示异常看不到拆分明细信息&#xff0c;并且保存后拆分结…

【Qt-Qt Creator使用技巧】

工具-Qt Creator ■ 使用技巧■ 定义触发片段■ Qt Creator 行编辑■ 代码注释■ 代码补全■ 快速给函数添加定义■ 创建书签■ 同步列输入■ 局部替换■ 源代码阅读■ 源码调试■ 使用技巧 ■ 定义触发片段 ■ Qt Creator 行编辑 shift + alt + up / down来获得多个游标。 …

导入芯片原厂SDK Mirror源码到gerrit

下载镜像代码 repo init --mirror --repo-url ssh://xx/repo.git -u ssh://xx/manifests.git -m manifest.xml repo sync 创建AOSP project 对All Project权限修改 创建repo 在刚才下载的codebase根目录执行如下命令&#xff1a; repo forall -c echo $REPO_PROJECT; ssh -p 29…

DOTS Instancing合批:如何针对单个渲染实体修改材质参数

最近在做DOTS的教程,由于DOTS(版本1.0.16)目前不支持角色的骨骼动画&#xff0c;我们是将角色的所有动画数据Baker到一个纹理里面&#xff0c;通过修改材质中的参数AnimBegin,AnimEnd来决定动画播放的起点和终点&#xff0c;材质参数AnimTime记录当前过去的动画时间。但是在做大…

CSS导读 (元素显示模式 下)

&#xff08;大家好&#xff0c;今天我们将继续来学习CSS的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 3.6 元素显示模式转换 3.7 (一个小技巧)单行文字垂直居中的代码 3.8 单行文字垂直居中的原理 3.9 小案例…

leaflet知识点:地图窗格panes的应用

一&#xff0c;需求背景 地图中存在无人机&#xff0c;停机坪&#xff0c;航线三个图层&#xff0c;需要实现无人机图层显示在最上面&#xff0c;停机坪图层显示在最下面&#xff0c;航线图层显示在中间。 二&#xff0c;遇到问题 由下图可知航线图层所在overlayPane窗格的z-…

工控 modbusTCP 报文

Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 Rx 接收报文:00 C9 00 00 00 07 01 03 04 01 4D 00 01 Tx 发送报文:00 C9 00 00 00 06 01 03 00 00 00 02 00 C9 事务处理标识符 2字节 00 00 协议标识符 2字节 固定 00 00 00 06 长度 2字节 表示之后的字节总数 &#xff08;…

大数据之ClickHouse

大数据之ClickHouse 简介 ClickHouse是一种列式数据库管理系统&#xff0c;专门用于高性能数据分析和数据仓库应用。它是一个开源的数据库系统&#xff0c;最初由俄罗斯搜索引擎公司Yandex开发&#xff0c;用于满足大规模数据分析和报告的需求。 特点 开源的列式存储数据库…

elementUI 下拉框加提示文案

效果如下&#xff1a; 展示文案在最下面&#xff0c;跟选项有个分割线 <el-select v-model"value" placeholder"请选择" clearable popper-class"addNotice" class"addNoticeS" visible-change"(v) >selectNotice(v,展示…

Testng测试框架(7)--测试运行

忽略测试 TestNG可以让你忽略类、特殊包、包及其子中的所有Test方法。 当在测试方法级别使用Ignore 注解&#xff0c;在功能上与Test(enabledfalse).一样。 以下例子将忽略类中所有tests。 import org.testng.annotations.Ignore; import org.testng.annotations.Test; Ign…

秦朗丢寒假作业系摆拍 博主被处罚

大家好&#xff01; 我是老洪&#xff0c;刚看到秦朗丢寒假作业系摆拍博主被处罚。 据央视财经媒体报道&#xff0c;近期&#xff0c;“秦朗丢寒假作业”事件被证实为自导自编的摆拍视频。 图片来源央视财经公众号截图 该博主与同事薛某&#xff0c;为了吸引更多的粉丝和流量&a…