My_Project

资料整理


SQL语句-常用函数讲解

<pre><code>Sum 求和,函数返回数字列的总和。 例:查询所有员工基本工资总和 select sum(sal) from emp; Avg 平均值。 例:查出员工基本工资水平 select avg(sal) form emp; Count 统计行数。 例:求出有奖金的员工人数 select count(empno) from emp where comm&gt;0; Min 最小值。 例:展示基本工资最低的员工信息 select *,min(sal) from emp; Max 最大值。 例:展示基本工资最高的,职业为clerk的员工信息 select *,max(sal) from emp where job=clerk; as 别名,查询出信息后,将字段值以其他名称展示。 例:查询学生的数学平均分及总人数,并将数学平均分列展示为’数学平均分’,总人数列展示为’总人数’ Select avg(math) as ‘数学平均分’,count(id) as ‘总人数' from emp; Null 空值,表示未知数据。 插入数据时可以选择列插入,这时未选择的列数值未知,则会自动用NULL值填充。 NUll特征: 1.不能对Null值使用比较运算符。 2.任何值和null一起运算时,结果都为null。 在需要对Null进行处理时需要用到is Null和is not null操作符。 例:查询出没有奖金的员工 select * from emp where comm is null; is null 为空值。 is not null 不为空值。 例:查询出没有奖金的员工 select * from emp where comm is null; ifnull(字段值,m) 在运算时遇到空值的处理。 当字段值为null,则将值置为m。 当字段值不为null,则值为它本身。 例:查询出员工的总工资 select sal+isnull(comm,0) from emp; group by 分组,将查询结果按照某个字段进行分组,字段值相同的为一组。 例:统计出student表中男生/女生的人数 Select count(id) from student group by sex; Having 对分组后的数据进行条件过滤。 用在分组查询后指定一些条件来对分组查询结果进行再过滤。 having 子句中使用到的每一个字段必须出现在select列表中;有些数据库例外,如oracle。 例:找出student表中语文成绩&gt;90分的人数在2人以上的班级 select count(chineses) from student where chineses &gt;90 group by class having count(chineses)&gt;2; length 统计字符个数。 where和having的区别 1.执行顺序不一致:where&gt;分组\聚合函数&gt;having。 1.where后不能跟聚合函数,因为where执行顺序&gt;聚合函数;having后可以跟聚合函数。 即:有聚合函数和分组操作时,需用having进行过滤。 2.where语句在group by语句之前;SQL会在分组之前执行where语句; 2.having语句在group by语句之后;SQL会在分组之后执行having语句; 即:分组后一定要用having;没有分组的话,用having或者用where都可以</code></pre>

页面列表

ITEM_HTML