【SQL 专栏】1. 零基础入门!4 个语法搞定薪资报表查询

📅 2026/7/9 2:40:17 👁️ 阅读次数 📝 编程学习
【SQL 专栏】1. 零基础入门!4 个语法搞定薪资报表查询

今日核心学习知识点:SELECT、WHERE、DISTINCT、ORDER BY

一、业务背景

公司共500名员工,HR每月发薪前导出薪资数据给财务核对,数据存储在employees单表。
今日所有习题,全部围绕4个核心语法展开练习,无其他额外知识点干扰。

二、数据表结构

CREATETABLEemployees(idINTPRIMARYKEYAUTO_INCREMENT,nameVARCHAR(64)NOTNULL,dept_idINTNOTNULL,salaryDECIMAL(12,2)NOTNULL,hire_dateDATENOTNULL,INDEXidx_dept(dept_id),INDEXidx_salary(salary));

三、四大知识点详细讲解

知识点1:SELECT

作用:自定义查询需要展示的字段,是SQL查询的起始语法。
固定格式:SELECT 字段1,字段2 FROM 表名
规范:业务查询不使用SELECT *,只查询业务所需字段,节省性能。

知识点2:WHERE

作用:条件过滤,提前筛选符合要求的数据行,缩小查询范围。
常用运算符:>、<、=、>=、<=,执行顺序早于去重、排序。

知识点3:DISTINCT

作用:对查询返回结果做去重,消除重复数据。
使用规则:必须紧跟在SELECT关键字后方,多用于查询不重复部门、分类编号场景。

知识点4:ORDER BY

作用:对最终结果集进行排序,分两种规则:
ASC:升序,从小到大,默认可省略;
DESC:降序,从大到小,薪资排名高频使用。
执行顺序最晚,过滤、去重完成后才执行排序。

做题通用固定流程

FROM 数据表 → WHERE 条件筛选 → SELECT 提取字段 → DISTINCT 结果去重 → ORDER BY 排序

四、语法演示案例

案例1 组合知识点:SELECT + ORDER BY

业务需求:导出全部员工姓名、薪资,薪资由高至低展示

SELECTname,salaryFROMemployeesORDERBYsalaryDESC;

案例2 组合知识点:SELECT + WHERE + DISTINCT

业务需求:筛选薪资8000以上员工,获取不重复的部门编号

SELECTDISTINCTdept_idFROMemployeesWHEREsalary>8000;

五、刷题实战

Q001 阿里真题

题目:查询所有员工的姓名和薪资,按薪资降序排列。
涉及核心知识点:SELECT、ORDER BY
个人作答:

selectname,salaryfromemployeesorderbysalarydesc

解题拆解:

  1. SELECT 定义输出字段name、salary;
  2. ORDER BY salary DESC 完成薪资降序排名。

Q002 腾讯真题

题目:查询薪资超过 8000 元的员工所在部门ID(去重)。
涉及核心知识点:SELECT、WHERE、DISTINCT
个人作答:

selectdistinctdept_idfromemployeeswheresalary>8000

解题拆解:

  1. WHERE salary > 8000 过滤高薪员工;
  2. DISTINCT 去除重复部门ID。

Q003 美团真题

题目:输出员工姓名与薪资,按薪资从高到低排序(HR 发薪核对用)。
涉及核心知识点:SELECT、ORDER BY
个人作答:

selectname,salaryfromemployeesorderbysalarydesc

解题拆解:

  1. SELECT 提取报表所需姓名字段、薪资字段;
  2. ORDER BY DESC 生成有序薪资表,供财务核对。

Q004 京东真题

题目:找出薪资大于 8000 的所有部门编号,同一部门只保留一条。
涉及核心知识点:SELECT、WHERE、DISTINCT
个人作答:

selectdistinctdept_idfromemployeeswheresalary>8000

解题拆解:

  1. WHERE 筛选薪资达标人员数据;
  2. DISTINCT 实现部门编号唯一展示。

六、今日学习总结

1、两大题型分类(对应两套知识点组合)

1)薪资排序题型:SELECT + ORDER BY
特征:需求包含排名、按薪资高低排序、导出有序表格
2)筛选去重题型:SELECT + WHERE + DISTINCT
特征:需求包含数值筛选、去重、唯一部门编号统计

2、知识点速记

  1. SELECT:控制展示哪些列;
  2. WHERE:前置过滤数据;
  3. DISTINCT:消除重复行;
  4. ORDER BY:末尾排序,DESC实现从高到低。

3、落地价值

今日4个语法覆盖HR每月薪资导出全部基础需求,是后续复杂SQL学习的底层基础。