单表查询练习

Kali实战:LAMPSecurity CTF5靶场渗透全流程(附详细漏洞利用步骤) 本文详细解析了Kali Linux在LAMPSecurity CTF5靶场渗透中的全流程,包括靶场环境搭建、Web应用漏洞挖掘、横向移动与权限提升等关键步骤。通过实战案例演示了如何利用NanoCMS漏洞获取系统权限,并提供了详细的防御措施与加固建议,帮助安全人员提升渗透测试技能。 阅读详情

 题目:

  1. 查询 customers 表中所有居住在 'CA' 州的客户的全名(first_name + last_name)和电话号码

  2. 查询积分(points)大于 1000 的客户,按积分降序排列

  3. 查询 1990 年以后出生的客户信息,只显示姓名和出生日期

  4. 查询 products 表中单价(unit_price)最高的 5 个产品

  5. 查询 orders 表中 2017 年之后下单且状态不为 1 的所有订单

  6. 查询 shippers 表中所有运输商名称中包含 'LLC' 的记录


1. 

查询 customers 表中所有居住在 'CA' 州的客户的全名(first_name + last_name)和电话号码

输入

SELECT CONCAT(first_name,' ',last_name) AS cus_name, phone
FROM customers
WHERE state = 'CA';

输出

详细检查和批改建议

优点:

  1. 完全符合题目要求:

    • 查询CA州的客户

    • 显示客户全名和电话号码

  2. 使用了CONCAT函数合理组合first_name和last_name

  3. 使用了列别名(AS cus_name)提高结果可读性

  4. WHERE条件简洁明确

  5. 格式规范清晰 

可选的优化建议(非必需):

  1. 添加排序(虽然题目未要求)

  2. 处理NULL值(如果phone可能为NULL)

    SELECT 
        CONCAT(first_name, ' ', last_name) AS cus_name,
        COALESCE(phone, 'N/A') AS phone
    FROM customers
    WHERE state = 'CA';

2.

查询积分(points)大于 1000 的客户,按积分降序排列

输入

SELECT customer_id, CONCAT(first_name, ' ', last_name) AS cus_name, points
FROM customers
WHERE points > 1000
ORDER BY points DESC;

输出

详细检查和批改建议

优点:

  1. 完全符合题目要求:

    • 筛选积分>1000的客户

    • 显示客户ID、全名和积分

    • 按积分降序排列

  2. 使用了CONCAT函数合并姓名

  3. 使用了有意义的列别名(AS cus_name)

  4. 正确的排序语法(ORDER BY points DESC)

  5. 简洁清晰的查询结构

可选的增强建议(非必需):

  1. 添加LIMIT(如果只需要前N条记录):

  2. 格式化输出积分(如千位分隔):

    SELECT 
        customer_id,
        CONCAT(first_name, ' ', last_name) AS cus_name,
        FORMAT(points, 0) AS formatted_points
    FROM customers
    WHERE points > 1000
    ORDER BY points DESC;

3.

查询 1990 年以后出生的客户信息,只显示姓名和出生日期

输入

SELECT CONCAT(first_name,' ', last_name) AS cus_name, birth_date
FROM customers
WHERE birth_date >= '1990-01-01';

输出

详细检查和批改建议

优点:

  1. 正确的日期比较方式:

    • 直接使用日期列与日期字符串比较

    • 避免了使用YEAR()函数,这样可以利用birth_date字段的索引

  2. 性能优势:

    • 比使用YEAR(birth_date) >= 1990效率更高

    • 数据库可以直接使用日期索引进行筛选

  3. 语义清晰:

    • 明确表示要查询1990年1月1日及之后出生的客户

    • 比使用YEAR函数更直观

可选的增强建议(非必需):

  1. 添加NULL值处理(如果birth_date可能为NULL):

    WHERE birth_date IS NOT NULL AND birth_date >= '1990-01-01'
  2. 添加排序(虽然题目未要求)

  3. 使用表别名(使查询更简洁)


4.

查询 products 表中单价(unit_price)最高的 5 个产品

输入

SELECT product_id, name, unit_price
FROM products
ORDER BY unit_price DESC LIMIT 5;

输出

详细检查和批改建议

优点:

  1. 完全符合题目要求:

    • 查询单价最高的5个产品

    • 显示了产品ID、名称和单价

  2. 正确的排序语法:

    • 使用ORDER BY unit_price DESC实现降序排列

  3. 正确的限制结果集:

    • 使用LIMIT 5精确获取前5条记录

  4. 简洁高效的写法:

    • 直接操作products单表

    • 没有不必要的复杂性

可选的增强建议(非必需)

        1.格式化价格显示(如保留两位小数):

SELECT 
    product_id,
    name,
    FORMAT(unit_price, 2) AS formatted_price
FROM products
ORDER BY unit_price DESC
LIMIT 5;

           2.处理并列情况(如果有相同单价的产品):

    ORDER BY unit_price DESC, name ASC
    LIMIT 5;


    5.

    查询 orders 表中 2017 年之后下单且状态不为 1 的所有订单 

    输入

    SELECT order_id, customer_id, order_date
    FROM orders
    WHERE order_date >= '2017-01-01' AND status != 1;

    输出

    详细检查和批改建议

    优点:

    1. 正确的日期范围:

      • order_date >= '2018-01-01' 准确筛选2018年及以后的订单

      • 严格符合题目"2017年之后"的要求(即从2018年开始)

    2. 正确的状态筛选:

      • status != 1 有效排除了状态为1的订单

      • 虽然直接使用数字,但在已知状态含义的情况下是合理的

    3. 简洁高效的写法:

      • 只查询必要的字段

      • 条件表达式简单直接

    可选的增强建议(非必需):

    1. 添加状态解释(作为注释)

    2. 使用表别名

    3. 添加排序(虽然题目未要求)


    6.

    查询 shippers 表中所有运输商名称中包含 'LLC' 的记录

    输入

    SELECT shipper_id, name
    FROM shippers
    WHERE name LIKE '%LLC%';

    输出

    详细检查和批改建议

    优点:

    1. 完全符合题目要求:

      • 查询名称包含"LLC"的运输商

      • 显示了运输商ID和名称

    2. 正确的LIKE用法:

      • 使用%LLC%匹配名称中任意位置包含"LLC"的记录

    3. 简洁高效的写法:

      • 直接操作shippers单表

      • 没有不必要的复杂性

    可选的增强建议(非必需):

    1. 添加排序(使结果更有条理)

    2. 使用表别名

    3. 考虑大小写不敏感(根据数据库配置):

      WHERE LOWER(name) LIKE '%llc%';

    嵌入式学习笔记- 关于电容的纹波电流 纹波电流是导致电解电容发热、影响其寿命的关键交流电流成分。它不是一种特殊的电流,而是电路中必然存在的现象。要重视,不能忽视。必须保证电路中的纹波电流 < 电容的额定纹波电流。电容鼓包爆浆,要怀疑是否是纹波电流过大或电容ESR变大所致。希望这个解释能帮助您彻底理解这个概念!二 电容纹波电流与频率的关系在大多数情况下,频率越高,电容所能承受的额定纹波电流值越大。【个人理解:因为频率越低ESR越大,具体见第三节ESR与频率的关系】下面我为您详细解释为什么会这样,以及在实际应用中如何考虑。 阅读详情

    相关推荐

    EMC系列EtherCAT总线运动控制器(二):Motion通讯连接、总线配置及诊断

    雷赛-EMC系列EtherCAT总线运动控制器(二):Motion通讯连接、总线配置及诊断

    weixin_38570076的博客 1887

    单表查询及多表查询相关练习

    INSERT INTO `worker` (`部门号`, `职工号`, `工作时间`, `工资`, `政治面貌`, `姓名`, `出生日期`) VALUES (102, 1006, '2017-5-5', 4500.00, '党员', '孙八', '1996-9-2');INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');INSERT INTO score VALUES(NULL,902, '计算机',65);

    2303_80676760的博客 828

    Linux环境下OpenSSH升级到 OpenSSH_9.8p1(内置保姆级教程并包含openssl升级过程)

    2024年7月1日接到安全部门同事邮件通知,目前生产环境及测试环境服务器Openssh存在远程代码执行漏洞(CVE-2024-6387),漏洞等级高,且攻击者可以成功利用该漏洞获得远程root shell最高权限从而执行任意代码及命令,主要受影响版本为8.5p1

    菜鸟运维升级之路 2万+

    单表、多表查询练习

    【代码】单表、多表查询练习。

    2302_77267062的博客 484

    量化交易新手必看:如何用vnpy+Tushare轻松获取A股历史数据(附完整代码)

    本文为量化交易新手提供了使用vnpy和Tushare构建A股历史数据获取系统的完整指南。通过详细的代码示例,手把手教你搭建环境、封装数据获取引擎,并实现日线等数据的格式转换与本地存储,为策略回测与分析奠定坚实的数据基础。

    weixin_29098117的博客 378

    Allegro Design Entry CIS 与 OrCAD Capture CIS:PCB设计工具链中的双雄对决

    本文深入对比了Cadence旗下两大原理图设计工具Allegro Design Entry CIS与OrCAD Capture CIS。Allegro Design Entry CIS源自Concept HDL,定位高端,强调自顶向下的层次化设计和与Allegro PCB Editor的无缝约束管理,适合大型复杂系统及团队协作。OrCAD Capture CIS则以其出色的易用性、广泛的兼容性和强大的CIS数据库功能著称,是中小型项目及跨工具链协作的通用选择。文章从历史渊源、核心功能、适用场景等多维度剖析,

    bush的博客 487

    Mysql基础命令操作及单表查询多表查询综合练习题

    如果直接在分组后的结果集上进行条件判断,将条件写在where中,会报错,因为:结果集是分组后才能做的判断,而where实在查询前的条件判断。5.从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息。select语句,查询数据时,可能结果会非常多,此时就不能直接展示,分页展示。6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。2、查询所有职工所属部门的部门号,不显示重复的部门号。12、列出所有部门号为2和3的职工号、姓名、党员否。

    2201_75584091的博客 884

    渗透测试面试题

    渗透测试面试题 一.思路流程 1.信息收集 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,...

    千寻的博客 12万+

    MYSQL之练习单表查询和多表查询

    素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` float(8,2) NOT NULL,`政治面貌` varchar(10) NOT NULL DEFAULT '群众',`姓名` varchar(20) NOT NULL,`出生日期` date NOT NULL,

    qq_75040884的博客 863

    低代码部署与管理——OpenClaw智能助手的应用部署与运维(2026技术版)

    OpenClaw智能助手的低代码部署与管理平台采用分层架构设计,包含部署工具、环境管理、版本控制等核心模块,支持从开发到生产的全流程自动化部署。该系统通过Docker、Kubernetes等技术实现应用构建和部署,利用Terraform等工具管理多环境配置,并提供完善的监控运维能力。平台针对开发、测试、预生产和生产环境提供差异化配置,确保部署效率和运行可靠性。这种架构设计遵循自动化、可扩展性和安全性原则,显著提升了智能助手应用的部署效率和运维质量。

    一键难忘的博客 319

    SIMATIC WINCC V8.0安装教程(Win11系统)

    SIMATIC WINCC V8.0安装教程(Win11系统)

    Robot_PLC_HMI_Automation 9046

    单表查询和多表查询练习

    表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` float(8,2) NOT NULL,`政治面貌` varchar(10) NOT NULL DEFAULT '群众',`姓名` varchar(20) NOT NULL,`出生日期` date NOT NULL,

    yhahab的博客 677

    【思考模型框架】采用双钻模型:发散(桌面研究/用户访谈)→收敛(需求归类/优先级排序),输出需求规格书、追踪矩阵及产品待办清单。

    设计思维双钻模型是一种以用户为中心的需求管理方法,通过"发散-收敛"的双循环确保问题定位准确、方案切实可行。第一钻石(探索→定义)聚焦"找对问题",运用用户访谈、田野调查等方法挖掘真实需求;第二钻石(开发→交付)解决"做对方案",通过原型测试、A/B测试验证可行性。该模型强调低保真验证、多团队协作和真实用户测试,避免资源浪费与伪需求开发。典型应用场景包括产品功能优化、用户体验提升等需要精准落地的需求场景。核心价值在于建立从用户痛点到解决方案的可控闭

    奶爸的编程之路,也就一周冷个三天 319

    MySQL数据库练习题(单表查询,多表关联查询)

    列出在部门SALES工作的员工的姓名、基本工资、雇佣日期、部门名称,假定不知道该部门的部门编号。列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。列出所有员工的编号、姓名及其直接上级的编号、姓名,显示的结果按领导年工资的降序排列。列出雇佣日期早于其直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。列出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称。

    阿瑾的博客 1292

    锂电池充电器电路设计 里面有电路

    锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

    android 蓝牙通讯demo

    android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

    Oracle——单表查询练习

    Oracle SCOTT用户——EMP表,单表查询练习 – 01.查询emp表的所有数据 select * from emp; – 02.查询emp表中ename,job,sal几列,其中sal列在结果集中以别名salary查询 select ename,job,sal as salary from emp; – 03.查询emp表中deptno,ename,年工资,并将年工资命名别名total salary select deptno,ename,sal*12 "total salary" from

    qq_44760975的博客 632

    Outlook Express 6 (OE6) for Win7/Win8/Win10

    英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

    MySQL之单表查询练习

    一、emp表 二、练习 1. 查询出部门编号为30的所有员工2. 所有销售员的姓名、编号和部门编号。3. 找出奖金高于工资的员工。4. 找出奖金高于工资60%的员工。5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。 6. 找出部门编号为10中所有经理,部门编号为20中所有销售员,还有即不是经理又不是销售员但其工资大或等于20000的所有员工详细资料。 7. ...

    weixin_30517001的博客 557

    jdk-8u144-linux-x64.tar.gz.

    该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

    MySQL表格练习(单表查询,多表查询)

    创建student和scor表。建立数据表 `worker`建立新的数据库并进入。

    menge2333的博客 715

    单表查询和多表查询的简单练习

    6. 找出部门编号为D2019090001中所有总经理,部门编号为D2019090011中所有财务总监,还有即不是总经理又不是销售总监但其工资大或等于4000的所有员工详细资料。17. 统计各部门工资总和,显示部门编号和该部门雇员的月工资的总和,并且要满足该部门雇员的月工资合计大于6000,输出结果按月工资的合计升序排列。显示部门编号、部门名称、部门位置、部门人数。3. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。4. 列出在财务部工作的员工的姓名,假定不知道财务部的部门编号。

    Mechelle_ccy的博客 406

    Mysql(八)单表查询练习

    前言 本章主要讲述单表查询的练习 因为单表查询相对多表查询来说很简单 而且规则都是一样的 所以我只简单概括一下 一、准备 DROP DATABASE exam; CREATE DATABASE exam; USE exam; /*创建部门表*/ CREATE TABLE dept( deptno INT PRIMARY KEY, dname VARCHAR(50), loc V...

    Mikasa的博客 1248

    MySQL5.7,单表查询基础练习

    MySQL5.7单表查询基础练习 首先创建一个素材表: 注意:要将表创建在utf8mb2格式的数据库中! CREATE TABLE `worker` ( `部门号` int(11) NOT NULL, `职工号` int(11) NOT NULL, `工作时间` date NOT NULL, `工资` float(8,2) NOT NULL, `政治面貌` varchar(10) NOT NULL DEFAULT '群众', `姓名` varchar(20) NOT NULL, `出生日期` d..

    ysc111k的博客 328

    单表 多表查询练习

    select e.ename 员工姓名,e.sal+ifnull(e.comm,0) 员工工资,m.ename,d.dname 部门名称, m.ename 领导姓名,m.sal+ifnull(e.comm,0) 领导工资 from emp e,emp m,dept d where e.mgr=m.empno and e.deptno=d.deptno;select e.empno 雇员编号,e.ename 雇员姓名,e.sal 雇员工资,d.dname 部门名称 from。

    2302_78736894的博客 805

    单表的查询练习

    素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` float(8,2) NOT NULL,`政治面貌` varchar(10) NOT NULL DEFAULT '群众',`姓名` varchar(20) NOT NULL,`出生日期` date NOT NULL,

    2301_77951758的博客 1058
    下一篇: MySQL中 IS NOT NULL 和 != NULL 有区别吗?
    SnowCodeJourney
    博客等级 码龄1年 19粉丝 5原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

    当前余额3.43元 前往充值 >
    需支付:10.00元
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付元
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值