简单查询
SELECT 语句
SELECT [DISTINCT] * |{字段名 1, 字段名 2, 字段名 3,... } FROM 表名 [WHERE 条件表达式 1] [GROUP BY 字段名 [HAVING 条件表达式 2]] [ORDER BY 字段名 [ASC|DESC]] [LIMIT [OFFSET] 记录数]
SELECT查询指定所有字段
SELECT 字段名 1, 字段名 2, ... FROM 表名;
查询所有 SELECT * FROM 表名;
按条件查询
带关系运算符的查询
SELECT 字段名 1, 字段名 2, ... FROM 表名 WHERE 条件表达式
带IN关键字的查询
SELECT * | 字段名 1, 字段名 2, ... FROM 表名 WHERE 字段名 [NOT] IN (元素 1, 元素 2,...)
带BETWEEN AND关键字的查询
SELECT * | 字段名 1, 字段名 2, ... FROM 表名 WHERE 字段名 [NOT] BETWEEN 值 1 AND 值 2
空值查询
SELECT * | 字段名 1, 字段名 2, ... FROM 表名 WHERE 字段名 IS [NOT] NULL ==>非空的语法:WHERE 字段名 IS NOT NULL
带DISTINCT关键字的查询
SELECT DISTINCT 字段名 1, 字段名 2, ... FROM 表名;
对性别查询,则会输出 男和女两个,重复的只记一次
带LIKE关键字的查询
SELECT * | 字段名 1, 字段名 2, ... FROM 表名 WHERE 字段名 [NOT] LIKE '匹配字符串';
- 百分号(%)通配符查询
SELECT 字段名 FROM 表名 WHERE 字段名 LIKE "S%"; 还可以 "w%g" "%\% %"这样需要转义字符 这段表示 查询带有S的字段
- 下划线(_)通配符查询
SELECT 字段名 FROM 表名 WHERE 字段名 LIKE "_ _ _s"; 这段表示匹配 值 S前面的3个字符,有几个下划线,就匹配几个
带AND关键字的查询
SELECT * | {字段名 1, 字段名 2, ...} FROM 表名 WHERE 条件表达式 1 AND 条件表达式 2 [... AND 条件表达式n];
带OR关键字的查询
SELECT * | {字段名 1, 字段名 2, ...} FROM 表名 WHERE 条件表达式 1 OR 条件表达式 2 [... OR 条件表达式n];
高级查询
聚合函数
- COUNT()函数
SELECT COUNT(*) FROM 表名; 结果为表数据的总行数
- SUM()函数
SELECT SUM(字段名) FROM 表名; 总和查询
- AVG()函数
SELECT AVG(字段名) FROM 表名; 求平均值
- MAX()函数
SELECT MAX(字段名) FROM 表名; 求最大值
- MIN()函数
SELECT MAX(字段名) FROM 表名; 求最小值
- 对查询结果排序
SELECT 字段名 1, 字段名 2,... FROM 表名 ORDER BY 字段名 1 [ASC | DESC],字段名 2 [ASC | DESC]... DESC是降序
分组查询
- 单独使用GROUP BY分组
SELECT * FROM 表名 GROUP BY 字段名;
- GROUP BY和聚合函数一起使用
SELECT COUNT(*),字段名 FROM 表名 GROUP BY 字段名;
- GROUP BY和HAVING关键字一起使用
SELECT COUNT(*),字段名 FROM 表名 GROUP BY 字段名 HAVING SUM(字段名)<300;
使用LIMIT 限制查询结果的数量
SELECT 字段名 1, 字段名 2,... FROM 表名 LIMIT [OFFSET,] 记录数
网友评论