什么是select语句_mysql查询基础用法

来源:这里教程网 时间:2026-02-28 20:43:17 作者:

SELECT 语句是 MySQL 中最基础、最常用的查询命令,作用是从一个或多个表中提取数据,**不修改原始数据**,只返回结果集(即临时表格)。它就像“取数的窗口”,你告诉数据库“要什么、从哪来、按什么条件、怎么排”,它就给你一份干净的结果。

核心结构:三要素缺一不可

一条基本 SELECT 语句至少包含三部分:

SELECT 后跟字段列表:指定要查哪些列,如
SELECT name, age
;用
*
表示查全部字段(但生产环境建议避免)
FROM 后跟表名:指明数据来源,如
FROM users
分号(;)结尾:表示语句结束(多条语句时必须加)

例如:

SELECT id, username FROM users;
—— 从 users 表中取出 id 和 username 两列。

常用扩展:让查询更精准实用

实际使用中,常叠加以下子句提升表达力:

WHERE:加条件过滤,如
WHERE status = 'active'
WHERE age BETWEEN 18 AND 25
ORDER BY:排序,如
ORDER BY created_at DESC
(倒序)
DISTINCT:去重,如
SELECT DISTINCT city FROM customers
AS:起别名,让字段或表名更清晰,如
SELECT user_name AS name FROM users u
(u 是 users 的表别名)

执行顺序决定逻辑写法

MySQL 实际执行 SELECT 时,并不是按你写的顺序运行,而是严格遵循:

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT

这意味着:

WHERE 在 SELECT 之前执行,所以不能在 WHERE 中直接用 SELECT 里定义的别名 HAVING 是对分组后的结果再筛选,只能配合 GROUP BY 使用 ORDER BY 和 LIMIT 总是最后生效,控制最终输出的顺序和数量

几个易忽略但关键的细节

SQL 关键字(如 SELECT、FROM)不区分大小写,但习惯大写更易读;字段名、表名通常小写 NULL 参与任何运算(+、=、>等)结果都是 NULL,判断空值要用
IS NULL
IS NOT NULL
,不能用
= NULL
LIKE 模糊匹配中,
%
匹配任意长度字符,
_
只匹配单个字符,如
name LIKE 'Li%'
查姓李的所有人
多表查询时,若字段名重复(如两个表都有 id),必须用
表名.字段名
明确指定,否则报错

相关推荐