当前位置: 首页 > news >正文

【LeetCode】--- MySQL刷题集合

1.组合两个表(外连接)

select p.firstName,p.lastName,a.city,a.state 
from Person p left join Address a 
on p.personId = a.personId;

以左边表为基准,去连接右边的表。取两表的交集和左表的全集 

2.第二高的薪水 (子查询、ifnull)

解法一(子查询与LIMIT 子句):

limit的两种写法

limit 起始索引,查询数据的个数

limit 起始索引 offset 查询数据的个数

select 
(select distinct salary from Employee order by salary desc limit 1 offset 1) 
as SecondHighestSalary;

这样的写法就类似于

select 1+2 as SecondHighestSalary;

不需要有数据来源,因为这个表达式的计算结果已经是一个数据了。

这里只是给数据起一个别名。若是子查询数据为空,那么返回的就是null 而不是空了

总之。在 SQL 中使用子查询而没有 FROM 子句的情况通常是为了计算一个表达式或获取一个基于特定逻辑的单一结果,子查询本身提供了数据来源和处理逻辑,无需再通过 FROM 从物理表中获取数据。但在实际应用中,需要考虑性能和可维护性,避免过度复杂的子查询结构。 

解法二(使用 IFNULL 和 LIMIT 子句): 

select ifnull(
(select distinct salary from Employee order by salary desc limit 1,1),null
) 
as SecondHighestSalary;

由于若查询结果为空,返回null

因此使用 ifnull 流程控制函数 更加合适

ifnull(value1,value2)

如果value1为null,就返回value2

如果不为空,就返回value1

注意,若是value1为一个sql语句,要给它加上括号

 3.第N高的薪水(函数、limit不能跟表达式)

 

答案: 

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
declare M INT;set M = N-1;RETURN (select distinct salary from Employee order by salary desc limit M,1);
END

注意,limit中参数不能写成表达式的形式。也就是不能写成N-1

需要单独定义一个变量 M = N-1 

代码解释 

这个 SQL 代码创建了一个名为 getNthHighestSalary 的函数,该函数接收一个整数参数 N,用于表示要查找第 N 高的薪水。函数的返回值是一个整数,代表第 N 高的薪水值。

变量声明

declare M INT;

变量赋值

set M = N-1;


查询语句

RETURN (select salary from Employee order by salary desc limit M,1
);

 4.分数排名(窗口函数(排名函数dense_rank())

窗口函数的基本结构

<窗口函数>([参数]) OVER ([PARTITION BY <分区列1>, <分区列2>,...][ORDER BY <排序列1> [ASC | DESC], <排序列2> [ASC | DESC],...][ROWS | RANGE <窗口范围说明>]
)

各部分解释

窗口函数

  • 这是核心部分,可以是聚合函数(如 SUM()AVG()COUNT()MAX()MIN() 等)或排名函数(如 RANK()DENSE_RANK()ROW_NUMBER() 等)。
  • OVER 子句

    • 是窗口函数的关键字,表明后面的内容是对窗口的定义。
  • PARTITION BY:
    这是可选的。用于将数据划分为不同的分区,类似于 GROUP BY 的功能,但不会像 GROUP BY 那样对数据进行聚合操作。窗口函数会在每个分区内独立执行。
    例如:partition by ...
    PARTITION BY department 
    会将数据按照部门进行分区,窗口函数将在每个部门内分别计算。
  • ORDER BY:
    通常是必需的,用于对分区内的数据进行排序。这会影响排名函数的结果,以及聚合函数的计算顺序。
    例如:
    ORDER BY salary DESC
    会将分区内的数据按照薪水降序排列。
  • ROWS | RANGE 窗口范围说明:
    这也是可选的,用于进一步定义窗口的范围。
    ROWS 基于物理行,例如
    ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
    表示当前行的前一行到后一行的范围。
    RANGE 基于逻辑值,例如
     RANGE BETWEEN 10 PRECEDING AND 10 FOLLOWING
    表示在当前行的值的基础上,范围是比当前行的值小 10 到大 10 的数据范围。

 排名函数(如 RANK()DENSE_RANK()ROW_NUMBER() 等)。

方法一:排名函数dense_rank()(推荐)

rank()               排名的特点是  1 2 2 4 5 5 5 8 9

dense_rank() 排名的特点是  1 2 2 3 4 5 5 5 6

ROW_NUMBER()      特点是   1 2 3 4 5 6 7 8 9

select s.score,dense_rank() 
over(order by s.score desc) as 'rank' 
from Scores s;

 方法二:使用 COUNT(DISTINCT ...) 的相关子查询

SELECTS1.score,(SELECTCOUNT(DISTINCT S2.score)FROMScores S2WHERES2.score >= S1.score) AS 'rank'
FROMScores S1
ORDER BYS1.score DESC;

这段 SQL 代码的主要目的是为 Scores 表中的每个 score 计算排名。它使用了一个相关子查询来计算排名,排名的依据是大于或等于当前分数的不同分数的数量。

主查询

SELECT S1.score:从 Scores 表中选择 score 列作为主查询的一部分。

子查询部分:

COUNT(DISTINCT S2.score):计算不同分数的数量。
FROM Scores S2:从 Scores 表中选取数据。
WHERE S2.score >= S1.score:这是关键部分,对于主查询中的每个 S1.score,子查询会统计 Scores 表中大于或等于 S1.score 的不同分数的数量。

 最终结果是通过 ORDER BY S1.score DESC 对主查询的结果按照分数降序排列。

5.连续出现的数字 (自连接)

自连接使用场景

1.比较同一表中不同行的数据

  • 示例场景:查找表中相邻行的数据关系,例如找出连续出现的记录。

2.查找父子关系或层次关系

  • 示例场景:在存储了层次结构信息的表中查找父子节点关系。

3.找出重复记录

  • 示例场景:找出表中具有相同数据的行。

4.时间序列分析

  • 示例场景:在存储了时间序列数据的表中,找出连续时间点的数据。

select distinct l1.num as ConsecutiveNums
from Logs l1,Logs l2,Logs l3
where 
l1.id = l2.id-1 and
l2.id = l3.id-1 and
l1.num = l2.num and
l2.num = l3.num;

找出至少出现三次的数字。因此进行自连接三次

条件是

第一张表id 等于 第二张表 id-1

第二张表id 等于 第三张表 id-1

第一张表num 等于 第二张表 num

第二张表num 等于 第三张表 num

6.超过经理收入的员工(自连接)

解法一:自连接(隐式where语句)

select e1.name as Employee
from Employee e1,Employee e2 
where e1.managerId = e2.id and e1.salary > e2.salary; 

SQL解释 

表的自连接

from Employee e1, Employee e2

这里将 Employee 表自连接,使用别名 e1 表示员工,e2 表示经理。

where e1.managerId = e2.id and e1.salary > e2.salary;

 e1.managerId = e2.id:
这是自连接的关键条件,它将 e1 表中的 managerId 与 e2 表中的 id 进行连接,意味着 e2 表中的员工是 e1 表中员工的经理。
e1.salary > e2.salary:
这是筛选条件,它确保只选择那些员工的工资(e1.salary)高于其经理的工资(e2.salary)的记录。

 解法二:自连接(显示on语句)

SELECTa.NAME AS Employee
FROM Employee AS a JOIN Employee AS bON a.ManagerId = b.IdAND a.Salary > b.Salary
;

 一、自连接过程:
首先,将 Employee 表自连接,形成笛卡尔积。这意味着 e1 和 e2 表的组合将包含所有可能的行对,即每个 e1 中的行将与 e2 中的所有行组合在一起,总共会有  种组合(假设 Employee 表有 n 行)。对于我们的示例表,会有6的平方 = 36  种组合,但很多组合将不符合条件。

e1.managerId = e2.id:
这一条件将确保 e1 中的员工的经理是 e2 中的员工。例如:
对于 e1 中的 Bob(id = 2,managerId = 1),只有当 e2 中的 id = 1 时,这个条件才满足。所以,Bob 可以和 Alice 组合。 

e1.salary > e2.salary:
在上述满足 e1.managerId = e2.id 的组合中,进一步筛选出员工(e1)工资高于经理(e2)工资的组合:
对于 Bob(e1)和 Alice(e2)的组合:Bob 的工资是 6000,Alice 的工资是 5000,满足 e1.salary > e2.salary,所以 Bob 会被选中。 

注意e1.managerId = e2.id 与 e1.id = e2.managerId的区别

e1.managerId = e2.id 
这个条件表示 e2 表中的员工是 e1 表中员工的经理。也就是说,通过 managerId 建立了从员工(e1)到其经理(e2)的关联。 

e1.id = e2.managerId:
这个条件表示 e1 表中的员工是 e2 表中员工的经理。与第一个语句相反,这里是通过 managerId 建立了从经理(e1)到其下属员工(e2)的关联。 

7.找到重复的电子邮箱(自连接 | group by... having)

法一:自连接(效率低一点)

select distinct p1.email as Email 
from Person p1, Person p2 
where p1.id <> p2.id and p1.email = p2.email; 

法二:(GROUP BY 和临时表) (比自连接效率高)

表子查询

select email, count(*) as num from Person group by email

得到临时表

再根据这个表找到email数量大于 1 的 email就可以了

select  email as Email 
from  (select email, count(*) as num from Person group by email) t
where num > 1;

法三、使用 GROUP BY 和 HAVING 条件 (效率相对高一点)

select email from Person 
group by email 
having count(*) > 1;

分完组之后,再用having count(*)来计算组内的行数。

再筛选组内行数大于1的email 

 8.从不订购的客户(is null)

 注意:判断是否为null 要用 is 而不是 =

法一:列子查询(子查询返回的是一列数据)

select name as Customers from Customers
where id 
not in (select customerId from Orders);

法二:左连接(Left Join)

select name as Customers from Customers c
left join Orders o 
on c.id = o.customerId  where customerId is null; 

9.部门工资最高的员工 

法一:隐式内连接

select d.name Department,e.name Employee,e.salary 
from Employee e,Department d
where e.departmentId = d.id
and e.salary >= 
all (select salary from Employee t where e.departmentId = t.departmentId);

e.salary >= 
all (select salary from Employee t where e.departmentId = t.departmentId);

员工薪资 ≥ 相同部门的薪资。

法二、窗口函数(MAX()+行子查询) 

select d.name AS 'Department',e.name AS 'Employee',Salary
FROM Employee e JOIN Department d ON e.DepartmentId = d.Id
where (e.DepartmentId , Salary) in
(select DepartmentId, MAX(Salary) from Employee 
GROUP BY DepartmentId);

 where 条件 绑定了部门 id 和 薪资水平 in

查出来的 部门id 和最高的薪资水平。

select DepartmentId, MAX(Salary) from Employee 
GROUP BY DepartmentId;

法三:窗口函数(dense_rank() partition by)(推荐)

select d.name AS 'Department',e.name AS 'Employee',e.salary Salary
from 
(select *,dense_rank()  over(partition by departmentId order by salary desc) as erank 
from Employee) e ,Department d 
where e.departmentId = d.Id
and erank <= 1;

10.部门工资前三高的所有员工

 

法一:窗口函数(dense_rank()) 

select d.name as Department, e.name as Employee,salary Salary from
(select *, dense_rank()
over(partition by departmentId order by salary desc) as erank
from Employee) e
left join Department d on e.departmentId = d.id
where erank <= 3;

其中 

select *, dense_rank()
over(partition by departmentId order by salary desc) as erank
from Employee;

#根据部门id分组,再对组内按照薪水从大到小排序,并生成对应的排名编号

再右连接Deparment表 输出排名编号≤3的

 

相关文章:

【LeetCode】--- MySQL刷题集合

1.组合两个表&#xff08;外连接&#xff09; select p.firstName,p.lastName,a.city,a.state from Person p left join Address a on p.personId a.personId; 以左边表为基准&#xff0c;去连接右边的表。取两表的交集和左表的全集 2.第二高的薪水 &#xff08;子查询、if…...

【深度解析Java 20天速成】04_IDEA的安装与使用

【Why IDEA ?】 【注】JetBrains官方说明&#xff1a; 尽管我们采取了多种措施确保受访者的代表性&#xff0c;但结果可能会略微偏向 JetBrains 产品的用户&#xff0c;因为这些用户更有可能参加调查。 此外&#xff0c;2022年&#xff0c;某美国软件开发商在对近千名专业的Ja…...

系统思考—业务协同

最近在和一些客户的沟通中&#xff0c;企业老板都提到一个共同的困惑&#xff1a;每个部门都感觉自己在解决问题&#xff0c;做了正确的事情&#xff0c;但为什么组织的绩效就是没有增长&#xff1f;更糟糕的是&#xff0c;大家都不知道问题到底出在哪里&#xff1f; 在这种情…...

windows安装ES

1. 下载ES 访问ES官网下载Download Elasticsearch | Elastic 2. 配置环境变量 ES_JAVA_HOME : D:\jdk-17.0.9 ES_HOME : D:\elasticsearch-8.17.1-windows-x86_64\elasticsearch-8.17.1 3. 添加一些ES的配置 <1>关闭ES安全认证 打开elasticsearch-8.17.1\config\e…...

[java] java基础-字符串篇

目录 API String 创建字符串对象的两种方式&#xff1a; Java的内存模型 字符串常量池&#xff08;串池&#xff09;存放地址 两种构造方法的内存分析 String的常用方法 号比较的是什么 字符串比较&#xff08;比较字符串的数据值&#xff09; 遍历字符串 StringBui…...

告别手动编辑:如何用Python快速创建Ansible hosts文件?

在自动化运维领域&#xff0c;Ansible是一款非常强大的工具&#xff0c;它可以帮助我们管理和配置大量的服务器。为了让Ansible能够有效地管理这些服务器&#xff0c;我们需要一个hosts清单文件&#xff0c;该文件定义了Ansible要管理的目标主机。在实际应用中&#xff0c;我们…...

神经网络|(二)sigmoid神经元函数

【1】引言 在前序学习进程中&#xff0c;我们已经了解了基本的二元分类器和神经元的构成&#xff0c;文章学习链接为&#xff1a; 神经网络|(一)加权平均法&#xff0c;感知机和神经元-CSDN博客 在此基础上&#xff0c;我们认识到神经元本身在做二元分类&#xff0c;是一种非…...

DAY6,使用互斥锁 和 信号量分别实现5个线程之间的同步

题目 请使用互斥锁 和 信号量分别实现5个线程之间的同步 代码&#xff1a;信号量实现 void* task1(void* arg); void* task2(void* arg); void* task3(void* arg); void* task4(void* arg); void* task5(void* arg);sem_t sem[5]; //信号量变量int main(int argc, const …...

Redis 集群模式入门

Redis 集群模式入门 一、简介 Redis 有三种集群模式&#xff1a;主从模式、Sentinel 哨兵模式、cluster 分片模式 主从复制&#xff08;Master-Slave Replication&#xff09;: 在这种模式下&#xff0c;数据可以从一个 Redis 实例&#xff08;主节点 Master&#xff09;复…...

计算机网络 (55)流失存储音频/视频

一、定义与特点 定义&#xff1a;流式存储音频/视频是指经过压缩并存储在服务器上的多媒体文件&#xff0c;客户端可以通过互联网边下载边播放这些文件&#xff0c;也称为音频/视频点播。 特点&#xff1a; 边下载边播放&#xff1a;用户无需等待整个文件下载完成即可开始播放…...

vue + element-ui 组件样式缺失导致没有效果

失效 代码&#xff1a; 修改方法&#xff1a; 在main.js文件里面加上&#xff1a; import element-ui/lib/theme-chalk/index.css; 最后&#xff1a;...

在 Windows 11 中为 SMB 3.x 文件共享协议提供 RDMA 支持

注&#xff1a;机翻&#xff0c;未校。 Enable SMB Direct in Windows 11 在 Windows 11 中启用 SMB Direct Provides RDMA support for the SMB 3.x file sharing protocol 为 SMB 3.x 文件共享协议提供 RDMA 支持 Vigneshwaran Vijayakumar November 3, 2024 Last Updat…...

250123-对象的比较(equals()和==)

1. Object类中的equals()方法 见20250103-Object类&#xff0c;使用构造函数创建的两个对象&#xff0c;见下例&#xff0c;即使输入参数是相同的&#xff0c;比较结果仍是不同&#xff0c;因为对象的堆内存地址不同&#xff0c;在任何情况下使用关键字new都会开辟出一个新的内…...

UE求职Demo开发日志#6 测试用强化页面UI搭建

1 反向实现思路设计 先看最终效果&#xff1a; 先做了一个大致的分区&#xff0c;右侧的上半部分用来显示数据&#xff0c;下半部分用来强化和显示需要的材料&#xff0c;至于这个背景设定上强化应该叫什么&#xff0c;。。。。&#xff0c;还没定&#xff0c;反正应该不叫强…...

华为支付接入规范

为了确保用户获得良好的支付体验&#xff0c;Payment Kit制定了相关接入设计规范&#xff0c;请开发者遵照执行&#xff0c;具体要求&#xff08;非强制性&#xff09;如下&#xff1a; 一、支付方式呈现 涉及支付公司名称&#xff0c;请统一使用&#xff1a;花瓣支付&#xff…...

论文速读|Matrix-SSL:Matrix Information Theory for Self-Supervised Learning.ICML24

论文地址&#xff1a;Matrix Information Theory for Self-Supervised Learning 代码地址&#xff1a;https://github.com/yifanzhang-pro/matrix-ssl bib引用&#xff1a; article{zhang2023matrix,title{Matrix Information Theory for Self-Supervised Learning},author{Zh…...

左叶子之和(力扣404)

这道题需要将左右子树的左叶子结点之和不断返回给该左右子树的父节点&#xff0c;这是典型的后序遍历。如果大家对于二叉树的遍历不熟悉的话&#xff0c;可以先去看一下我的关于二叉树遍历的博客。否则直接看这道题是很容易懵逼的。熟悉了二叉树的遍历之后&#xff0c;大家可以…...

微信小程序使用picker根据接口给的省市区的数据实现省市区三级联动或者省市区街道等多级联动

接口数据如上图 省市区多级联动&#xff0c;都是使用的一个接口通过传参父类的code。返回我们想要的数据 比如获取省就直接不要参数。市就把省得code传给接口&#xff0c;区就把市的code作为参数。 <picker mode"multiSelector" :range"mulSelect1" …...

iconfont等图标托管网站上传svg显示未轮廓化解决办法

打开即时设计 即时设计 - 可实时协作的专业 UI 设计工具 导入图标后拖入画板里面&#xff0c;右键选择轮廓化 将图标导出...

Mysql索引(学习自用)

目录 一、索引概述 优缺点 二、索引结构 1、索引数据结构 2、索引支持结构 3、B树 4、B树 5、hash索引 6、为啥采用B树索引 三、索引分类 四、索引语法 五、索引性能分析 5.1查看执行频率 5.2慢查询日志 5.3profiling 5.4explain 六、索引使用规则 6.1验证索…...

封装svg图片展示及操作组件——svgComponent——js技能提升

template部分 <template><div class"canvas-wrapper" ref"canvasWrapper"><svg:viewBox"computedViewBox"ref"svgCanvas"xmlns"http://www.w3.org/2000/svg"xmlns:xlink"http://www.w3.org/1999/xlink…...

数据从前端传到后端入库过程分析

数据从前端传到后端入库过程分析 概述 积累了一些项目经验&#xff0c;成长为一个老程序员了&#xff0c;自认为对各种业务和技术都能得心应手的应对了&#xff0c;殊不知很多时候我们借助了搜索引擎的能力&#xff0c;当然现在大家都是通过AI来武装自己。 今天要分析的话题是…...

【Pytest】结构介绍

1.目录结构介绍 project_root/ │ ├── tests/ # 测试用例存放目录 │ ├── __init__.py │ ├── test_module1.py │ ├── module1.py # 被测试的模块 ├── conftest.py # pytest配置文件&#xff0c;可定义fixture和钩子函数 ├── py…...

每日十题八股-2025年1月23日

1.快排为什么时间复杂度最差是O&#xff08;n^2&#xff09; 2.快排这么强&#xff0c;那冒泡排序还有必要吗&#xff1f; 3.如果要对一个很大的数据集&#xff0c;进行排序&#xff0c;而没办法一次性在内存排序&#xff0c;这时候怎么办&#xff1f; 4.面试官&#xff1a;你的…...

mysql相关知识(详细)

一、什么是数据库&#xff1f; 概念&#xff1a;数据库(Database,简称DB)&#xff0c;长期存放在计算机内&#xff0c;有组织&#xff0c;可共享的大量数据的集合&#xff0c;是一个数据"仓库"。作用&#xff1a;存放管理数据分类&#xff1a;关系型数据库、NoSQL数…...

C++ 静态变量static的使用方法

static概述&#xff1a; static关键字有三种使用方式&#xff0c;其中前两种只指在C语言中使用&#xff0c;第三种在C中使用。 静态局部变量&#xff08;C) 静态全局变量/函数&#xff08;C) 静态数据成员/成员函数&#xff08;C&#xff09; 静态局部变量 静态局部变量&…...

对grid布局有哪些了解【css】

CSS Grid 布局是现代网页设计中非常强大的布局方式之一&#xff0c;它能够使你以更加灵活且直观的方式来设计网页的布局&#xff0c;特别适用于复杂的多行多列的布局。它允许你在网页上创建非常精确的网格&#xff0c;帮助你把内容放置在多个行和列中。 1. Grid 布局的基本概念…...

IOS 安全机制拦截 window.open

摘要 在ios环境&#xff0c;在某些情况下执行window.open不生效 一、window.open window.open(url, target, windowFeatures) 1. url&#xff1a;「可选参数」&#xff0c;表示你要加载的资源URL或路径&#xff0c;如果不传&#xff0c;则打开一个url地址为about:blank的空…...

低空经济(9)低空飞行器零部件供应商国内外厂家

低空飞行器零部件供应商国内外厂家 1.概述2.国内供应商2.1 动力系统2.2 航电系统2.3 机身结构部件2.4 传动系统2.5 液压系统与气动系统 3.国外供应商3.1 动力系统3.2 航电系统3.3 机身结构部件3.4 传动系统3.5 液压与气动系统 tips&#xff1a;资料来自网络&#xff0c;仅供参考…...

3b1b线性代数基础

零、写在前面 3b1b之前没认真看&#xff0c;闲了整理整理。 一、向量 学习物理的时候&#xff0c;向量是空间中的箭头。由其方向和长度决定。 学习数据结构的时候&#xff0c;向量是有序的数字列表。向量的每一维度有着不同含义。 线性代数中&#xff0c;我们通常认为**向量…...

困境如雾路难寻,心若清明步自轻---2024年创作回顾

文章目录 前言博客创作回顾第一次被催更第一次获得证书周榜几篇博客互动最多的最满意的引发思考的 写博契机 碎碎念时也运也部分经验 尾 前言 今年三月份&#xff0c;我已写下一篇《近一年多个人总结》&#xff0c;当时还没开始写博客。四月份写博后&#xff0c;就顺手将那篇总…...

SAP 中的三种内表

文章目录 1 : Introduction2 : Summary3: Reerence document4 : Example 1 : Introduction In the abap development we deal with data and the carrier is internal table . it is transfered in the whole programe. In the interview we offten meet it . What is the dif…...

从0到1学习机器学习实践--1 安装Anaconda

机器学习首先安装conda环境&#xff0c;这个是比较靠谱手把手执行的安装教程 最新最全&#xff08;亲测&#xff09;的conda安装教程和虚拟环境安装环境配置...

整合管理输入、工具与技术 、输出

过程输入工具与技术输出制定项目章程1.项目立项文件2.协议3.事业环境因素4.组织过程资产1.专家判断2.数据收集头脑风暴、焦点小组、访谈3.人际关系与团队技能冲突管理、引导、会议管理4.会议1.项目章程2.假设日志制订项目管理计划1.项目章程2.其他过程输出3.事业环境因素4.组织…...

sed — 流编辑器:从入门到精通

内容速览 简介 sed&#xff08;Stream Editor&#xff09;是一个功能强大的文本处理工具&#xff0c;广泛应用于文本文件的自动化编辑和批量处理。它通过逐行读取文件内容并在内存中的临时缓冲区&#xff08;即“模式空间”&#xff09;中处理文本&#xff0c;实现高效的文本…...

【玩转全栈】----Django基本配置和介绍

目录 Django基本介绍&#xff1a; Django基本配置&#xff1a; 安装Django 创建项目 创建app 注册app Django配置路由URL Django创建视图 启动项目 Django基本介绍&#xff1a; Django是一个开源的、基于Python的高级Web框架&#xff0c;旨在以快速、简洁的方式构建高质量的Web…...

【Linux】文件操作、系统IO相关操作、inode和输入输出重定向

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;Linux 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 1、理解文件1.1 狭义理解1.2 广义理解1.3 文件操作1.4 系统角度 2、系统文件IO2.1 文件相关操作2.2 文件描述符2.3 重定向 3、动静…...

Prometheus+grafana实践:Doris数据库的监控

文章来源&#xff1a;乐维社区 Doris数据库背景 Doris&#xff08;Apache Doris&#xff09;是一个现代化的MPP&#xff08;Massive Parallel Processing&#xff0c;大规模并行处理&#xff09;数据库&#xff0c;主要用于在线分析处理&#xff08;OLAP&#xff09;场景。 D…...

c语言(转义字符)

前言&#xff1a; 内容&#xff1a; 然后记一下转义字符 \? 在书写连续多个问号时使用&#xff0c;防止他们被解析成三字母词 \ 用于表示字符常量 \\ 用于表示一个反斜杠&#xff0c;防止他被解析为一个转义序列符 \n 换行 \r …...

TOGAF之架构标准规范-信息系统架构 | 数据架构

TOGAF是工业级的企业架构标准规范&#xff0c;信息系统架构阶段是由数据架构阶段以及应用架构阶段构成&#xff0c;本文主要描述信息系统架构阶段中的数据架构阶段。 如上所示&#xff0c;信息系统架构&#xff08;Information Systems Architectures&#xff09;在TOGAF标准规…...

快速排序:一种高效的排序算法

前言 排序是最基本和最常用的操作之一。无论是数据处理、搜索优化,还是各种应用程序的内部逻辑,排序算法的选择都直接影响到程序的性能。快速排序(Quick Sort)作为一种典型的分治算法,以其平均时间复杂度 O(n log n) 和优越的实际表现,成为了现代编程中最常用的排序算法…...

PHP:从入门到进阶的编程之旅

在Web开发的广阔天地中&#xff0c;PHP&#xff08;Hypertext Preprocessor&#xff0c;超文本预处理器&#xff09;无疑是一颗璀璨的明星。自1995年问世以来&#xff0c;PHP凭借其开源、跨平台、易于学习和使用的特性&#xff0c;迅速成为Web开发领域中最受欢迎的语言之一。本…...

Windows的docker中安装gitlab

一.Windows的docker中安装gitlab 1.通过阿里云拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh 2.在本地创建备份数据的目录 mkdir -p D:home/software/gitlab/etc mkdir -p D:home/software/gitlab/logs mkdir -p D:home/software/gitlab/dat…...

计算机网络 (58)无线局域网WLAN

前言 无线局域网WLAN&#xff08;Wireless Local Area Network&#xff09;是一种利用无线通信技术将计算机设备互联起来&#xff0c;构成可以互相通信和实现资源共享的网络体系。 一、定义与特点 定义&#xff1a; WLAN通过无线信道代替有线传输介质连接两个或多个设备形成一个…...

LeetCode: 45.跳跃游戏II

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a; 45.跳跃游戏II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示…...

Blazo-Blazor Web App项目结构

让我们还是从创建项目开始&#xff0c;来一起了解下Blazor Web App的项目情况 创建项目 呈现方式 这里我们可以看到需要选择项目的呈现方式&#xff0c;有以上四种呈现方式 ● WebAssembly ● Server ● Auto(Server and WebAssembly) ● None 纯静态界面静态SSR呈现方式 WebAs…...

汇编语法及相关指令

1.汇编指令的基本格式&#xff1a; <opcode>{<cond>}{s} <Rd>, <Rn>, <shifter_operand> opcode&#xff1a;指令的功能码&#xff0c;用来表示当前指令的作用 cond&#xff1a;条件码&#xff0c;需要在指令执行之前先判断条件受否满足&…...

数据结构——堆(介绍,堆的基本操作、堆排序)

我是一个计算机专业研0的学生卡蒙Camel&#x1f42b;&#x1f42b;&#x1f42b;&#xff08;刚保研&#xff09; 记录每天学习过程&#xff08;主要学习Java、python、人工智能&#xff09;&#xff0c;总结知识点&#xff08;内容来自&#xff1a;自我总结网上借鉴&#xff0…...

linux+docker+nacos+mysql部署

一、下载 docker pull mysql:5.7 docker pull nacos/nacos-server:v2.2.2 docker images 二、mysql部署 1、创建目录存储数据信息 mkdir ~/mysql cd ~/mysql 2、运行 MySQL 容器 docker run -id \ -p 3306:3306 \ --name mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/…...

10个非常基础的 Javascript 问题

Javascript是一种用于Web开发的编程语言。JavaScript在网络的客户端上运行。 根据MDN&#xff0c;JavaScript&#xff08;通常缩写为JS&#xff09;是一种轻量级的&#xff0c;解释性的&#xff0c;面向对象的语言&#xff0c;具有一流的功能&#xff0c;并且最著名的是Web页面…...