SQL复杂查询功能介绍及示例
文章目录
- 1. 多表连接(JOIN)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `customers` 表(未查询前)
- `orders` 表(未查询前)
- INNER JOIN 示例
- LEFT JOIN 示例
- 2. 子查询(Subquery)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `orders` 表(未查询前)
- 非相关子查询 示例
- 相关子查询 示例
- 3. 聚合函数与分组(GROUP BY)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `customers` 表(未查询前)
- `orders` 表(未查询前)
- 4. 条件筛选(WHERE)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `orders` 表(未查询前)
- 5. 排序(ORDER BY)
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `orders` 表(未查询前)
- 6. 组合使用
- 功能介绍
- 应用场景
- 示例查询及初始表格
- `customers` 表(未查询前)
- `orders` 表(未查询前)
1. 多表连接(JOIN)
功能介绍
多表连接是 SQL 中用于从多个表中检索数据的重要操作。它通过指定一个或多个条件来组合来自两个或多个表的数据行。主要类型包括:
- INNER JOIN:返回两个表中满足连接条件的匹配行。
- LEFT JOIN (或 LEFT OUTER JOIN):返回左表中的所有记录,即使右表中没有匹配项。对于右表中没有匹配项的情况,结果集中对应的字段将包含 NULL。
- RIGHT JOIN (或 RIGHT OUTER JOIN):与 LEFT JOIN 相反,返回右表中的所有记录。
- FULL JOIN (或 FULL OUTER JOIN):返回两个表中的所有记录,当某一方没有匹配时,使用 NULL 填充。
- CROSS JOIN:返回两个表的笛卡尔积,即每个表的每一行都与其他表的所有行配对。
应用场景
当你需要合并来自多个表的数据时,例如获取客户的订单信息、产品分类详情等,JOIN 是不可或缺的操作。
示例查询及初始表格
customers 表(未查询前)
| customer_id | customer_name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
| 4 | Dave |
| 5 | Eve |
orders 表(未查询前)
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 101 | 1 | 2024-01-15 | 100.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
INNER JOIN 示例
查询
SELECT customers.customer_name, orders.order_id, orders.order_date, orders.total_amount
FROM customers
INNER JOIN orders ON customers.customer_id = orders.customer_id;
模拟查询结果
| customer_name | order_id | order_date | total_amount |
|---|---|---|---|
| Alice | 101 | 2024-01-15 | 100.00 |
| Alice | 102 | 2024-02-20 | 200.00 |
| Alice | 106 | 2024-06-30 | 90.00 |
| Alice | 107 | 2024-11-28 | 90.00 |
| Bob | 103 | 2024-03-10 | 150.00 |
| Bob | 108 | 2024-11-30 | 125.00 |
| Charlie | 104 | 2024-04-15 | 75.00 |
| Charlie | 105 | 2024-05-22 | 180.00 |
| Charlie | 109 | 2024-12-01 | 75.00 |
LEFT JOIN 示例
查询
SELECT customers.customer_name, orders.order_id, orders.order_date, orders.total_amount
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
模拟查询结果
| customer_name | order_id | order_date | total_amount |
|---|---|---|---|
| Alice | 101 | 2024-01-15 | 100.00 |
| Alice | 102 | 2024-02-20 | 200.00 |
| Alice | 106 | 2024-06-30 | 90.00 |
| Alice | 107 | 2024-11-28 | 90.00 |
| Bob | 103 | 2024-03-10 | 150.00 |
| Bob | 108 | 2024-11-30 | 125.00 |
| Charlie | 104 | 2024-04-15 | 75.00 |
| Charlie | 105 | 2024-05-22 | 180.00 |
| Charlie | 109 | 2024-12-01 | 75.00 |
| Dave | NULL | NULL | NULL |
| Eve | NULL | NULL | NULL |
2. 子查询(Subquery)
功能介绍
子查询是在另一个查询内部执行的查询,它可以出现在 SELECT、FROM、WHERE 或 HAVING 子句中。根据子查询是否依赖于外部查询的结果,可以分为相关子查询和非相关子查询。
- 非相关子查询:独立于外部查询,通常用于计算聚合值如平均数、最大值等。
- 相关子查询:依赖于外部查询提供的参数,每次外部查询处理一行时,相关子查询都会重新评估。
应用场景
子查询常用于复杂的条件筛选、查找特定条件下的最值或者进行跨表比较。
示例查询及初始表格
orders 表(未查询前)
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 101 | 1 | 2024-01-15 | 100.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
非相关子查询 示例
查询
SELECT *
FROM orders
WHERE total_amount > (SELECT AVG(total_amount) FROM orders);
模拟查询结果
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
相关子查询 示例
查询
SELECT o1.customer_id, o1.order_id, o1.order_date, o1.total_amount
FROM orders o1
WHERE o1.total_amount = (SELECT MAX(o2.total_amount)FROM orders o2WHERE o1.customer_id = o2.customer_id
);
模拟查询结果
| customer_id | order_id | order_date | total_amount |
|---|---|---|---|
| 1 | 102 | 2024-02-20 | 200.00 |
| 2 | 103 | 2024-03-10 | 150.00 |
| 3 | 105 | 2024-05-22 | 180.00 |
3. 聚合函数与分组(GROUP BY)
功能介绍
聚合函数如 COUNT(), SUM(), AVG(), MIN(), MAX() 等用于执行数值汇总操作。GROUP BY 子句用于将数据按照一个或多个列进行分组,然后对每个组应用聚合函数。
应用场景
当你需要对数据进行分类汇总时,例如计算每个客户的总订单金额、统计不同类别的商品数量等,GROUP BY 结合聚合函数是非常有效的工具。
示例查询及初始表格
customers 表(未查询前)
| customer_id | customer_name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
| 4 | Dave |
| 5 | Eve |
orders 表(未查询前)
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 101 | 1 | 2024-01-15 | 100.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT c.customer_name, SUM(o.total_amount) AS total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_name
ORDER BY total_spent DESC;
模拟查询结果
| customer_name | total_spent |
|---|---|
| Alice | 480.00 |
| Charlie | 330.00 |
| Bob | 275.00 |
4. 条件筛选(WHERE)
功能介绍
WHERE 子句用于过滤记录,只有符合条件的记录才会被包含在最终的结果集中。可以在 WHERE 中使用比较运算符(=, <, >, <=, >=, <>)、逻辑运算符(AND, OR, NOT)以及其他一些特定的运算符(LIKE, IN, BETWEEN…AND…)来进行复杂的条件组合。
应用场景
WHERE 子句广泛应用于数据过滤,比如选择特定日期范围内的记录、查找特定类别或状态的数据等。
示例查询及初始表格
orders 表(未查询前)
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 101 | 1 | 2024-01-15 | 100.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT *
FROM orders
WHERE YEAR(order_date) = 2024;
模拟查询结果
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 101 | 1 | 2024-01-15 | 100.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
5. 排序(ORDER BY)
功能介绍
ORDER BY 子句用于对查询结果按照一个或多个列进行排序,默认为升序排列(ASC),可以通过指定 DESC 实现降序排列。你还可以对多个列进行排序,优先级从左到右。
应用场景
当你希望按某种顺序展示查询结果时,例如按照时间先后、金额大小等,ORDER BY 是必不可少的。
示例查询及初始表格
orders 表(未查询前)
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 101 | 1 | 2024-01-15 | 100.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT *
FROM orders
ORDER BY order_date DESC;
模拟查询结果
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 109 | 3 | 2024-12-01 | 75.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 101 | 1 | 2024-01-15 | 100.00 |
或者根据多个字段排序:
查询
SELECT *
FROM orders
ORDER BY customer_id ASC, order_date DESC;
模拟查询结果
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 107 | 1 | 2024-11-28 | 90.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 101 | 1 | 2024-01-15 | 100.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
6. 组合使用
功能介绍
实际应用中,通常会结合多种 SQL 特性来构建复杂的查询。例如,你可以同时使用 JOIN、子查询、聚合函数、WHERE 过滤、HAVING 筛选以及 ORDER BY 排序,以精确控制查询的结果集。
应用场景
这种组合使用非常普遍,尤其是在需要处理复杂业务逻辑或分析大量数据时。例如,查找特定年份内每个客户的订单总数,并且只显示订单数超过一定阈值的客户,同时按订单数降序排列。
示例查询及初始表格
customers 表(未查询前)
| customer_id | customer_name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
| 4 | Dave |
| 5 | Eve |
orders 表(未查询前)
| order_id | customer_id | order_date | total_amount |
|---|---|---|---|
| 101 | 1 | 2024-01-15 | 100.00 |
| 102 | 1 | 2024-02-20 | 200.00 |
| 103 | 2 | 2024-03-10 | 150.00 |
| 104 | 3 | 2024-04-15 | 75.00 |
| 105 | 3 | 2024-05-22 | 180.00 |
| 106 | 1 | 2024-06-30 | 90.00 |
| 107 | 1 | 2024-11-28 | 90.00 |
| 108 | 2 | 2024-11-30 | 125.00 |
| 109 | 3 | 2024-12-01 | 75.00 |
查询
SELECT c.customer_name, COUNT(o.order_id) AS order_count
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
WHERE YEAR(o.order_date) = 2024
GROUP BY c.customer_name
HAVING COUNT(o.order_id) > 5
ORDER BY order_count DESC;
模拟查询结果
| customer_name | order_count |
|---|---|
| Alice | 4 |
示例数据中没有一个客户的订单数量超过5个,所以这里只有Alice满足条件。如果有更多的订单数据,可能会有更多的客户出现在结果中。
相关文章:
SQL复杂查询功能介绍及示例
文章目录 1. 多表连接(JOIN)功能介绍应用场景示例查询及初始表格customers 表(未查询前)orders 表(未查询前)INNER JOIN 示例LEFT JOIN 示例 2. 子查询(Subquery)功能介绍应用场景示…...
shell基础用法
shell基础知识 shell中的多行注释 :<<EOF read echo $REPLY # read不指定变量,则默认写入$REPLY EOF # :<<EOF ...EOF 多行注释,EOF可以替换为!# 等文件目录和执行目录 echo $0$0 # ./demo.sh echo $0的realpath$(realpath…...
C#设计模式--策略模式(Strategy Pattern)
策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需…...
【opencv入门教程】15. 访问像素的十四种方式
文章选自: 一、像素访问 一张图片由许多个点组成,每个点就是一个像素,每个像素包含不同的值,对图像像素操作是图像处理过程中常使用的 二、访问像素 void Samples::AccessPixels1(Mat &image, int div 64) {int nl imag…...
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
导航: 本文一些内容需要聚簇索引、非聚簇索引、B树、覆盖索引、索引下推等前置概念,虽然本文有简单回顾,但详细可以参考下文的【MySQL高级篇】 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/谷粒商城/学成在线设计模…...
根据html的段落长度设置QtextBrowser的显示内容,最少显示一个段落
要根据 HTML 段落的长度设置 QTextBrowser 的显示内容,并确保至少显示一个段落,可以通过以下步骤来实现: 加载 HTML 内容:首先,你需要加载 HTML 内容到 QTextBrowser 中。可以通过 setHtml() 方法来设置 HTML。 计算段…...
基于Huffman编码的GPS定位数据无损压缩算法
目录 一、引言 二、霍夫曼编码 三、经典Huffman编码 四、适应性Huffman编码 五、GPS定位数据压缩 提示:文末附定位数据压缩工具和源码 一、引言 车载监控系统中,车载终端需要获取GPS信号(经度、纬 度、速度、方向等)实时上传…...
php:完整部署Grid++Report到php项目,并实现模板打印
一、下载Grid++Report软件 路径:开发者安装包下载 - 锐浪报表工具 二、 安装软件 1、对下载的压缩包运行内部的exe文件 2、选择语言 3、 完成安装引导 下一步即可 4、接收许可协议 点击“我接受” 5、选择安装路径 “浏览”选择安装路径,点击"安装" 6、完成…...
C标签和 EL表达式的在前端界面的应用
目录 前言 常用的c标签有: for循环 1 表示 普通的for循环的 2 常在集合中使用 表示 选择关系 1 简单的表示如果 2 表示如果。。否则。。 EL表达式 格式 : ${属性名/对象/ 集合} 前言 本篇博客介绍 c标签和el表达式的使用 使用C标签 要引入 …...
Linux絮絮叨(四) 系统目录结构
Linux 系统的目录结构(Filesystem Hierarchy Standard, FHS)定义了 Linux 系统中文件系统的标准布局,以下是一些常见目录的功能: 根目录 / 描述:所有文件和目录的起始点,Linux 文件系统的根。内容…...
Java基于SpringBoot的网上订餐系统,附源码
博主介绍:✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&…...
《Java核心技术I》死锁
死锁 账户1:200元账户2: 300元线程1:从账号1转300到账户2线程2:从账户2转400到账户1 如上,线程1和线程2显然都被阻塞,两个账户的余额都不足以转账,两个线程都无法执行下去。 有可能会因为每一个线程要等…...
【Windows11系统局域网共享文件数据】
【Windows11系统局域网共享文件数据】 1. 引言1. 规划网络2. 获取必要的硬件3. 设置网络4. 配置网络设备5. 测试网络连接6. 安全性和维护7. 扩展和优化 2. 准备工作2.1: 启用网络发现和文件共享2.2: 设置共享文件夹 3. 访问共享文件夹4. 小贴士5. 总结 1. 引言 随着家庭和小型办…...
MCU、ARM体系结构,单片机基础,单片机操作
计算机基础 计算机的组成 输入设备、输出设备、存储器、运算器、控制器 输入设备:将其他信号转换为计算机可以识别的信号(电信号)。输出设备:将电信号(0、1)转为人或其他设备能理解的…...
在办公室环境中用HMD替代传统显示器的优势
VR头戴式显示器(HMD)是进入虚拟现实环境的一把钥匙,拥有HMD的您将能够在虚拟现实世界中尽情探索未知领域,正如如今的互联网一样,虚拟现实环境能够为您提供现实中无法实现的或不可能实现的事。随着技术的不断进步&#…...
ssm 多数据源 注解版本
application.xml 配置如下 <!-- 使用 DruidDataSource 数据源 --><bean id"primaryDataSource" class"com.alibaba.druid.pool.DruidDataSource" init-method"init" destroy-method"close"></bean> <!-- 使用 数…...
selenium常见接口函数使用
博客主页:花果山~程序猿-CSDN博客 文章分栏:测试_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 1. 查找 查找方式 css_s…...
STM32F103单片机使用STM32CubeMX新建IAR工程步骤
打开STM32CubeMX软件,选择File 选择新建工程 在打开的窗口输入单片机型号 在右下角选择单片机型号,然后点右上角 start project,开始新建工程。 接下来设置调试接口,在左边System Core中选择 SYS,然后在右右边debu…...
刷题重开:找出字符串中第一个匹配项的下标——解题思路记录
问题描述: 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入&…...
product/admin/list?page=0size=10field=jancodevalue=4562249292272
文章目录 1、ProductController2、AdminCommonService3、ProductApiService4、ProductCommonService5、ProductSqlService https://api.crossbiog.com/product/admin/list?page0&size10&fieldjancode&value45622492922721、ProductController GetMapping("ad…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
