前言:
SQL 允许对表中的数据进行计算,将一列数据作为一个整体,进行纵向计算。
函数名 | 作用 |
---|---|
MAX(column) | 返回某列的最低值(没有则返回NULL) |
MIN(column) | 返回某列的最高值(没有则返回NULL) |
COUNT(column) | 返回某列的行数(不包括 NULL 值) |
COUNT(*) | 返回被选列行数(包括NULL) |
SUM(column) | 求和 |
AVG(column) | 求平均值 |
注意:
mysql> select count(ename) from emp;
+--------------+
| count(ename) |
+--------------+
| 15 |
+--------------+
1 row in set (0.02 sec)
mysql> select avg(sal) from emp;
+-----------+
| avg(sal) |
+-----------+
| 1988.3333 |
+-----------+
1 row in set (0.00 sec)
mysql> select max(sal) from emp;
+----------+
| max(sal) |
+----------+
| 5000 |
+----------+
1 row in set (0.00 sec)
mysql> select min(sal) from emp;
+----------+
| min(sal) |
+----------+
| 800 |
+----------+
1 row in set (0.00 sec)
mysql> select sum(sal) from emp where job='SALESMAN';
+----------+
| sum(sal) |
+----------+
| 5600 |
+----------+
1 row in set (0.00 sec)
MYSQL
中常见的关键字段如下:
这些在MYSQL
中执行顺序是不一样的,从书写顺序来看:
SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT...
注意: 这些顺序不能颠倒。
在MYSQL
执行语句过程中,sql执行顺序是:
FROM ...,...-> ON -> (LEFT/RIGNT JOIN) -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT
具体sql执行原理:
当然如果我们操作的是两张以上的表,还会重复上面的步骤,直到所有表都被处理完为止,这个过程得到是我们的原始数据。
where
进一步判断,得到新一张虚拟表;