查询部分或所有字段
SELECT 字段名 FROM 表名 -- 部分字段
SELECT * FROM 表名 -- * 通配符代表所有字段
SELECT * FROM 表名 WHERE 条件 -- 条件查询 字段名 :chinese>4 ...
带IN关键字的查询
SELECT * FROM 表名 WHERE 字段名 IN(字段名对应的值); -- 满足条件的结果
SELECT * FROM 表名 WHERE NOT 字段名 IN(字段名对应的值); -- 不满足条件的结果
BETWEEN ADN的查询
SELECT * FROM 表名 HWERE 字段名 BETWEEN 值 ADN 值 -- 符合条件
SELECT * FROM 表名 HWERE 字段名 NOT BETWEEN 值 ADN 值 --不符合条件
空值查询
SELECT *FROM 表名 WHERE 字段名 IS NULL ; -- 找 字段是 NULL的
SELECT *FROM 表名 WHERE 字段名 IS NOT NULL ; -- 找 字段 不是NULL的
DISTINCT 关键字查询 (去除重复)
SELECT DISTINCT 字段名 FROM 表名; -- 过滤掉 字段名重复的成绩
LIKE关键字查询 (匹配字符串)
%通配符,匹配任意长度的字符串。
SELECT * FROM 表名 WHERE 字段名 LIKE '%值 ';
SELECT * FROM 表名 WHERE 字段名 NOT LIKE '%值 ';
_通配符,匹配多个字符。
SELECT * FROM 表名 WHERE 字段名 LIKE '刘_' ;
SELECT * FROM 表名 WHERE 字段名 NOT LIKE '刘_' ;
带AND多条件查询
SELECT * FROM 表名 WHERE 条件 ADN 条件;
带OR关键字的多条件查询
SELECT * FROM 表名 WHERE 条件 OR 条件;
ADN和OR一起使用
SELECT * FROM 表名 WHERE 条件 OR 条件 AND 条件;
高级查询
SELECT 函数 FROM 表名;
对查询结果排序
SELECT * FROM 表名 ORDER BY 字段名 DESC; -- ASC升序
分组查询
SELECT 函数 FROM 表名 GROUP BY 字段名;
SELECT 函数 FROM 表名 GROUP BY 字段名 HAVING 函数条件;
WHERE 和 HAVING的区别:
WHERE 不允许分组前过滤,不允许使用聚合函数。
HAVING必须在分组之后机型过滤,可以使用聚合函数。
使用LIMIT限制查询结果的数量
SELECT * FROM 表名 LIMIT 数量;
SELECT * FROM 表名 LIMIT 0,4; -- 从 0 到 4
为表名取名字
SELECT * FROM 表名 AS 新表名 WHERE 表名.字段名 = 值;
为字段取名
SELECT 字段名 AS 新字段名 , 字段名 AS 新字段名 FROM 表名;