




SQL基础查询核心是SELECT...FROM...语句,需掌握SELECT字段明确与别名、WHERE条件过滤、ORDER BY排序、LIMIT限制结果及JOIN表连接五大关键。
SQL基础查询的核心就一条语句:SELECT ... FROM ...,它像“从书架上找书”一样直观——先说要什么(SELECT),再说从哪儿找(FROM)。掌握几个关键概念,写查询就不再靠死记硬背。
初学者常写 SELECT *,看似省事,实际低效又模糊。真正清晰的写法是明确列出需要的列名,比如:
SELECT name, age FROM students; —— 只取姓名和年龄,结果干净、传输快、逻辑清楚SELECT name, salary * 12 AS annual_income FROM employees;,AS 后面是给新字段起的临时名字,让结果更易读DISTINCT:SELECT DISTINCT department FROM employees;,避免重复部门名刷屏没有 WHERE 就像进超市不看标签——查得全,但不精准。它负责“过滤行”,用的是布尔逻辑:
WHERE age > 18、WHERE status = 'active'(注意字符串用单引号)WHERE city = 'Beijing' AND salary >= 8000;WHERE category IN ('A', 'B', 'C') 比一堆 OR 更简洁WHERE email IS NOT NULL,不能写 = NULL,这是SQL里最容易踩的坑之一默认查出来的顺序是不确定的,靠磁盘存储顺序,千万别依赖。想看最新、最贵、或按字母排?必须显式排序:
ORDER BY created_at DESC(DESC 降序,ASC 升序可省略)ORDER BY status ASC, updated_at DESC —— 先按状态升序,状态相同时再按更新时间降序LIMIT 10 控
制返回条数,调试时加它,避免一不小心查出百万行卡死界面真实业务中,用户信息在 users 表,订单在 orders 表,想查“每个用户的首笔订单金额”,就得把两张表连起来。最常用的是 INNER JOIN:
SELECT u.name, o.amount FROM users u INNER JOIN orders o ON u.id = o.user_id;u、o)让语句短而清晰,尤其字段名重复时(比如都有 id)必须用别名区分ON)不是可选项,漏了就是笛卡尔积——1000人 × 5000订单 = 500万行垃圾结果基本上就这些。SQL不是编程语言,更像一种精确的“数据提问语法”。把 SELECT/ FROM / WHERE / ORDER BY / LIMIT 这五个关键词当作日常提问的主干,其余都是修饰词。练熟它们,90% 的基础查询就能自己写出来。