

一、基础扩展(最常用)
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