location_on 首页 keyboard_arrow_right 资讯 keyboard_arrow_right 正文

SQL数据库入门教程:查询语句SELECT使用指南

资讯 2026-06-03 remove_red_eye 8 text_decreasetext_fieldstext_increase

🔰 数据查询核心指令——SELECT

在关系型数据库中,SELECT语句承担着提取数据的核心任务。无论是数据分析、报表生成还是日常运维,掌握SELECT都是踏入SQL世界的第一步。本文梳理SELECT的基础用法,全程干货,适合新手收藏备用。

📌 一、基本语法结构

SELECT语句的最简形式:

sql
复制
下载
SELECT 列名 FROM 表名;

该语句从指定表中检索对应列的全部数据。若需查看所有列,可使用星号(*):

sql
复制
下载
SELECT * FROM 表名;

生产环境中建议尽量避免 SELECT *,明确列出所需列名有助于提升查询效率与可读性。

✨ 二、去重查询:DISTINCT

当列中包含重复值时,在SELECT后添加 DISTINCT 关键字可返回唯一结果。

sql
复制
下载
SELECT DISTINCT 列名 FROM 表名;

示例场景:从员工表中查询所有不重复的部门名称。

🔍 三、条件过滤:WHERE 子句

WHERE 子句用于筛选符合条件的行。常用运算符包括:

  • 比较运算符:=<><><=>=

  • 逻辑运算符:ANDORNOT

  • 范围查询:BETWEEN

  • 列表匹配:IN

  • 模式匹配:LIKE

示例:查询薪资大于5000且部门为“技术部”的员工

sql
复制
下载
SELECT 姓名, 薪资 FROM 员工表WHERE 薪资 > 5000 AND 部门 = '技术部';

文字值需用单引号包裹,数字直接书写。

📊 四、排序输出:ORDER BY

ORDER BY 子句可对结果集进行升序(ASC)或降序(DESC)排列,默认升序。

sql
复制
下载
SELECT 姓名, 入职日期 FROM 员工表ORDER BY 入职日期 DESC;

多列排序写法:ORDER BY 部门 ASC, 薪资 DESC,先按部门升序,同部门内按薪资降序。

📋 五、限制结果数量:LIMIT / TOP

不同数据库实现方式略有差异。

  • MySQL / PostgreSQL:使用 LIMIT 子句

    sql
    复制
    下载
    SELECT 列名 FROM 表名 LIMIT 数量;
  • SQL Server:使用 TOP 关键字

    sql
    复制
    下载
    SELECT TOP 数量 列名 FROM 表名;
  • Oracle:使用 ROWNUM 或 FETCH FIRST 子句

示例:查询最新入职的前5名员工(MySQL写法)

sql
复制
下载
SELECT * FROM 员工表 ORDER BY 入职日期 DESC LIMIT 5;

🧩 六、别名与计算字段

可为列或表指定别名,使结果更具可读性。

sql
复制
下载
SELECT 姓名 AS 员工姓名, 薪资 * 12 AS 年薪 FROM 员工表;

AS 可省略,但保留更清晰。别名可用于 ORDER BY,但不能直接用于 WHERE(受语句执行顺序影响)。

⚠️ 注意事项与最佳实践

  1. 关键字不区分大小写,习惯上将SQL关键字大写(SELECT, FROM, WHERE),表名和列名小写,以增强可读性。

  2. 字符串匹配 LIKE 中,% 代表任意字符序列,_ 代表单个字符。如 WHERE 姓名 LIKE '张%' 匹配所有姓张的记录。

  3. NULL值判断需使用 IS NULL 或 IS NOT NULL,不能用等号(= NULL)。

  4. 多条件组合时,善用括号明确优先级,避免逻辑歧义。

💡 总结

SELECT语句是SQL的灵魂,从简单检索到复杂的多表连接,均以此为基础。先熟练掌握单表查询的各个子句,再逐步深入 JOIN、GROUP BY 等高级功能,方能游刃有余。建议跟随示例动手练习,把基础夯实。


Win11笔记本优化教程:关闭无用服务,运行速度直接起飞
« 上一篇 2026-06-03
InDesign排版教程|书籍画册设计必学的版面设置,新手秒变专业
下一篇 » 2026-06-03