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

📅 2026/7/9 2:18:59
【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));三、四大知识点详细讲解知识点1SELECT作用自定义查询需要展示的字段是SQL查询的起始语法。固定格式SELECT 字段1,字段2 FROM 表名规范业务查询不使用SELECT *只查询业务所需字段节省性能。知识点2WHERE作用条件过滤提前筛选符合要求的数据行缩小查询范围。常用运算符、、、、执行顺序早于去重、排序。知识点3DISTINCT作用对查询返回结果做去重消除重复数据。使用规则必须紧跟在SELECT关键字后方多用于查询不重复部门、分类编号场景。知识点4ORDER BY作用对最终结果集进行排序分两种规则ASC升序从小到大默认可省略DESC降序从大到小薪资排名高频使用。执行顺序最晚过滤、去重完成后才执行排序。做题通用固定流程FROM 数据表 → WHERE 条件筛选 → SELECT 提取字段 → DISTINCT 结果去重 → ORDER BY 排序四、语法演示案例案例1 组合知识点SELECT ORDER BY业务需求导出全部员工姓名、薪资薪资由高至低展示SELECTname,salaryFROMemployeesORDERBYsalaryDESC;案例2 组合知识点SELECT WHERE DISTINCT业务需求筛选薪资8000以上员工获取不重复的部门编号SELECTDISTINCTdept_idFROMemployeesWHEREsalary8000;五、刷题实战Q001 阿里真题题目查询所有员工的姓名和薪资按薪资降序排列。涉及核心知识点SELECT、ORDER BY个人作答selectname,salaryfromemployeesorderbysalarydesc解题拆解SELECT 定义输出字段name、salaryORDER BY salary DESC 完成薪资降序排名。Q002 腾讯真题题目查询薪资超过 8000 元的员工所在部门ID去重。涉及核心知识点SELECT、WHERE、DISTINCT个人作答selectdistinctdept_idfromemployeeswheresalary8000解题拆解WHERE salary 8000 过滤高薪员工DISTINCT 去除重复部门ID。Q003 美团真题题目输出员工姓名与薪资按薪资从高到低排序HR 发薪核对用。涉及核心知识点SELECT、ORDER BY个人作答selectname,salaryfromemployeesorderbysalarydesc解题拆解SELECT 提取报表所需姓名字段、薪资字段ORDER BY DESC 生成有序薪资表供财务核对。Q004 京东真题题目找出薪资大于 8000 的所有部门编号同一部门只保留一条。涉及核心知识点SELECT、WHERE、DISTINCT个人作答selectdistinctdept_idfromemployeeswheresalary8000解题拆解WHERE 筛选薪资达标人员数据DISTINCT 实现部门编号唯一展示。六、今日学习总结1、两大题型分类对应两套知识点组合1薪资排序题型SELECT ORDER BY特征需求包含排名、按薪资高低排序、导出有序表格2筛选去重题型SELECT WHERE DISTINCT特征需求包含数值筛选、去重、唯一部门编号统计2、知识点速记SELECT控制展示哪些列WHERE前置过滤数据DISTINCT消除重复行ORDER BY末尾排序DESC实现从高到低。3、落地价值今日4个语法覆盖HR每月薪资导出全部基础需求是后续复杂SQL学习的底层基础。