别名: as可选可不选
注意不能把别名用于where 会报错显示不存在列
select * from Country betwent 10000 and 20000
非与或
按顺序执行 先执行非在执行与在执行或
上面的例子是先gpn和非洲一起 在或起来亚洲
排序: order by
默认是升序 如果要降序 在最后加上DESC
多重排序
代表先按gnp排序,如果相同再按name排序
也可以按这种格式写
limit
限制显示多少行 的一个是起始位置 默认0 第二个是显示多少行
distinct
用distinct加title来去重
聚合函数:
count()计数
sum()求和
min()最小值 max()最大值 avg() 平均值
下列实验用的表结构
分组 group by 以某一列分组
以部门的id为组来分组
以职位来分组。
但是有一个很重要的问题就是分组之后每一个组只有第一个数据,例如以部门id分组 只取了1部门的第一个和2部门的第一个。
如果要解决这个问题需要用到 group_concat
这样就会把所有的列都显示出来
having 选择分组
列出一组的的所有成员的薪水,职位。
在上面的实例中以职位进行分组。
在前面的基础上在进行 判断薪水大于四万
其实这个也很像where配合and用法
这里会先id和薪水大于40000在通过职位分组。
with rollup
通过with rollup来增加新的一行
这一行用于统计前面一行的总数和。
union
用于联合两个表的查询
union all 不会去除重复行。