SQL基础查询怎么写_深入讲解快速提升实战能力【教程】

4次阅读

sql基础查询核心是 select 语句,需严格遵循 SELECT-FROM-WHERE-ORDER BY-LIMIT 顺序,注意 字符串 用单引号、空值用 IS NULL判断、聚合须配 GROUP BY。

SQL 基础查询怎么写_深入讲解快速提升实战能力【教程】

SQL 基础查询核心就一条:用 SELECT 从表里取出你需要的数据。写对不难,但真正用好得理解“查什么、从哪查、怎么筛、如何排”,下面直接讲实战中高频、易错、必须掌握的要点。

SELECT 基本结构:别漏了 FROM

很多初学者只写 SELECT name 就停了,结果报错——因为 SQL 要求明确指定数据来源。完整骨架是:

SELECT 列名 1, 列名 2 … FROM 表名;

例如查用户姓名和 邮箱

SELECT username, email FROM users;

小技巧:

  • * 查所有列(仅限调试或小表,生产环境避免)
  • 列名可加别名:SELECT username AS name FROM users;
  • 支持表达式:SELECT price * 0.9 AS discounted_price FROM products;

WHERE 条件过滤:精准定位关键数据

WHERE 是筛选的核心,写在 FROM 后面,决定“取哪些行”。常见写法:

SELECT * FROM orders WHERE status = ‘paid’ AND total > 100;

注意点:

  • 字符串用单引号,数字不用:WHERE category = 'books' ✅,WHERE id = 123
  • 空值判断用 IS NULLIS NOT NULL,不能用 = NULL
  • 模糊匹配用 LIKEWHERE name LIKE 'A%'(查以 A 开头的名字)
  • 多个条件优先用括号明确逻辑:WHERE (type = 'vip' OR type = 'admin') AND active = 1

ORDER BY 和 LIMIT:让结果更可控

查出来数据乱序?加 ORDER BY 排序;数据太多?用 LIMIT 控制返回条数。

SELECT * FROM logs ORDER BY created_at DESC LIMIT 10;

说明:

  • ASC 升序(默认),DESC 降序
  • 可按多列排序:ORDER BY status ASC, updated_at DESC
  • LIMIT 5 取前 5 条;LIMIT 10 OFFSET 20 跳过前 20 条取 10 条(适合分页)

去重与简单聚合:一眼看懂数据分布

想看有多少种分类?某个字段有哪些唯一值?用 DISTINCT

SELECT DISTINCT category FROM products;

想统计数量、平均值、最大值?基础 聚合函数 马上上手:

  • COUNT(*) 总行数|COUNT(email) 非空 邮箱
  • SUM(amount) 求和|AVG(price) 平均价|MAX(created_at) 最新时间
  • 聚合必须搭配 GROUP BY(按某列分组后统计):
    SELECT status, COUNT(*) FROM orders GROUP BY status;

基本上就这些。不复杂但容易忽略细节——比如 WHERE 写在 ORDER BY 后面会报错,或者 GROUP BY 漏掉非聚合字段。动手写几遍,对照报错信息读提示,比背语法管用得多。

站长
版权声明:本站原创文章,由 站长 2025-12-17发表,共计1233字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources