查询语句select

一、基础扩展(最常用)

1. 给字段起别名(AS)

复制代码
SELECT name AS 姓名, workno AS 工号, age AS 年龄 FROM emp;

AS 可以省略

复制代码
SELECT name 姓名, workno 工号, age 年龄 FROM emp;

2. 查询所有字段

复制代码
SELECT * FROM emp;

3. 查询并去重Distinct

复制代码
SELECT DISTINCT age FROM emp;

二、条件查询 WHERE(必学)

1. 精确查询 =

复制代码
SELECT name,workno,age FROM emp WHERE name = '赵敏';

2. 大于 > / 小于 <

复制代码
SELECT name,age FROM emp WHERE age > 20;

3. 不等于!= 或 <>

复制代码
SELECT * FROM emp WHERE age != 18;

4. 并且 AND

复制代码
SELECT * FROM emp WHERE gender='女' AND age>20;

5. 或者 OR

复制代码
SELECT * FROM emp WHERE age<20 OR age>40;

6. 在区间 BETWEEN ... AND ...

复制代码
SELECT * FROM emp WHERE age BETWEEN 20 AND 30;

between 左边的数值要小于右边的数值。

7. 在多个值内 IN

复制代码
SELECT * FROM emp WHERE age IN(18,20,25);

三、模糊查询 LIKE(超级常用)

1. 以 XX 开头

sql

复制代码
SELECT * FROM emp WHERE name LIKE '张%';

2. 以 XX 结尾

sql

复制代码
SELECT * FROM emp WHERE name LIKE '%敏';

3. 包含 XX

sql

复制代码
SELECT * FROM emp WHERE name LIKE '%龙%';

4. 不包含 XX

sql

复制代码
SELECT * FROM emp WHERE name NOT LIKE '%王%';

'%'表示多个占位符,'_'表示单个占位符

四、排序 ORDER BY

1. 升序 ASC(从小到大)

sql

复制代码
SELECT name,age FROM emp ORDER BY age ASC;

2. 降序 DESC(从大到小)

sql

复制代码
SELECT name,age FROM emp ORDER BY age DESC;

3. 多字段排序

sql

复制代码
SELECT * FROM emp ORDER BY age DESC, name ASC;

五、分页 LIMIT

1. 前 5 条

sql

复制代码
SELECT * FROM emp LIMIT 5;

2. 从第 3 条开始,查 4 条

sql

复制代码
SELECT * FROM emp LIMIT 2,4;

六、聚合函数(统计)

一列数据作为一个整体 ,进行纵向计算。作用于某一列的。

sql

复制代码
SELECT COUNT(*) FROM emp;          -- 总人数
SELECT MAX(age) FROM emp;          -- 最大年龄
SELECT MIN(age) FROM emp;          -- 最小年龄
SELECT AVG(age) FROM emp;          -- 平均年龄
SELECT SUM(age) FROM emp;          -- 年龄总和
所有的null不参与聚合函数的计算中

七、分组查询 GROUP BY

sql

复制代码
SELECT gender, COUNT(*) FROM emp GROUP BY gender;

八、综合万能写法(你背这个就够)

sql

复制代码
SELECT 字段
FROM 表
WHERE 条件
GROUP BY 分组
HAVING 分组后条件
ORDER BY 排序
LIMIT 分页;

九、给你几个超级常用组合示例

1. 查询姓张、年龄 > 20、按年龄降序

sql

复制代码
SELECT name,age FROM emp 
WHERE name LIKE '张%' AND age>20 
ORDER BY age DESC;

2. 查询女性、20~30 岁、前 5 条

sql

复制代码
SELECT * FROM emp 
WHERE gender='女' AND age BETWEEN 20 AND 30 
LIMIT 5;

总结

你原来的语句:

sql

复制代码
select name , workno, age from emp;

所有扩展方向:

  • 别名 AS
  • 条件 WHERE
  • 模糊查询 LIKE %
  • 排序 ORDER BY
  • 分页 LIMIT
  • 统计 COUNT/SUM/AVG
  • 分组 GROUP BY
相关推荐
唐青枫17 小时前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩17 小时前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满87818 小时前
5.Mysql事务隔离级别与锁机制
mysql
笃行3501 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3501 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3501 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H1 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
SelectDB2 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶2 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构