SQL基础查询怎么写_重要技巧总结提升查询效率【技巧】

admin 百科 13
SQL查询执行顺序为FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT;LEFT JOIN右表过滤须写在ON而非WHERE;避免SELECT*;LIKE查询慎用前导通配符;ORDER BY字段需建索引,深分页宜用游标。

SQL基础查询怎么写_重要技巧总结提升查询效率【技巧】-第1张图片-佛山资讯网

SQL基础查询写法其实不难,关键在理解逻辑顺序和避开常见坑。SELECT、FROM、WHERE、ORDER BY 这几个子句的执行顺序不是从左到右,而是 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT。写错顺序或滥用字段,很容易查得慢、结果错、甚至报错。

WHERE 条件要写在 JOIN 之后,但别在 WHERE 里过滤 LEFT JOIN 的右表字段

很多人习惯把所有条件都塞进 WHERE,但对 LEFT JOIN 来说,这会把本该保留的 NULL 行给过滤掉,实际变成 INNER JOIN。

  • ✅ 正确:右表过滤条件写在 ON 后面
  • ❌ 错误:LEFT JOIN 后在 WHERE 中写 t2.status = 'active'
  • 示例:SELECT u.name, o.amount FROM users u LEFT JOIN orders o ON u.id = o.user_id AND o.status = 'paid'

避免 SELECT *,只取真正需要的字段

查全字段不仅传输数据多、内存占用高,还可能让数据库无法走覆盖索引(Covering Index),导致额外回表。

  • 能写具体字段就别用 *
  • 尤其在大表 JOIN 或分页场景下,影响明显
  • 如果只要计数,直接用 COUNT(1) 或 COUNT(*),别 SELECT * 再用程序数

LIKE 查询注意前导通配符,不然索引失效

WHERE name LIKE '%abc' 无法使用索引;WHERE name LIKE 'abc%' 才可以。

标签: mysql ai 内存占用

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~