查询:
所有数据
SELECT * FROM 表名
返回全表指定字段
SELECT userName,age FROM 表名
返回数据统计
SELECT english,(math+chinese) FROM 表名
返回数据统计 别名
SELECT english,(math+chinese) as 别名 FROM 表名
同时查两张表(笛卡尔积),查出的数据会进行整合 a表的每条数据会和b表的每条数据都一一匹配
SELECT * FROM A,B
where条件的符号:
常用的符号:
> < <= >= = <>(不等于) in()包含括号中的值的数据
SELECT * FROM 表名 WHERE english <> 15 //english不等于15
SELECT * FROM 表名 WHERE english in (10,12) //english等于12或者10的值
搜索:
like '张_' 结果:以张结尾的。如张飞 张三 _代表一个位置 前后皆可有
like '%张%' 结果:包含张的即可 %代表多个位置 前后皆可有
SELECT * FROM 表名 WHERE userName LIKE '%张%'
与 或 非:
and or not
SELECT * FROM 表名 WHERE english >90 AND english <100
在。。。之间
between ... and
SELECT * FROM 表名 WHERE english BETWEEN 60 and 100
排序(放在语句末尾、默认升序):
order by 升序(asc)/降序(desc)
SELECT * FROM 表名 ORDER BY english DESC 将english按降序查询
SELECT * FROM 表名 ORDER BY english DESC,chinese DESC 将english按降序查询 如果english相同按chinese降序查询
聚合函数:
求数量:
count()
SELECT COUNT(*) FROM 表名
求和:
sum()
SELECT SUM(english),SUM(chinese) FROM 表名
求平均分
avg()
SELECT AVG(english) FROM 表名
求最大值
max()
SELECT MAX(english) FROM 表名
求最小值
min()
SELECT MIN(english) FROM 表名
分组查询:
分组查询:
GROUP BY
//查询按sex分组,并且返回不同的sex的值和分组后的english的总和
SELECT sex,sum(english) FROM 表名 GROUP BY sex
分组过滤:
having
按sex分组 分组后查询english总和大于95的值
SELECT sex,sum(english) FROM 表名 GROUP BY sex HAVING SUM(english)>95
过滤掉english大于95的数据 然后安装sex进行分组
SELECT sex,sum(english) FROM 表名 WHERE english>95 GROUP BY sex
总结:
select ... from ... where .... group by .... having .... order by