DAY01-mysql加强

SQL有DML、DDL、DCL三种类型。
DISTINCT 删除重复项,可用于一列或多列。
例如,SELECT DISTINCT DEPTNO, JOB FROM emp 可查找部门编号和非经常性职位。

对 NUMBER 使用加法、减法、乘法和除法,对 DATE 使用加法和减法。
例如,年薪公式(SAL+IFNULL(COMM,0))1 2 ,如果奖金为空,则计算为0。

搜索2 000到3 000之间的工资的方法是SELECT FROM emp,其中SAL在2 000到3 000之间。
工资可以是8 00、1 6 00或3 000。
使用IN: SELECT FROM emp WHERE卖出(8 00、1 6 00、3 000)。

LIKE 是一个不明确的搜索,'_%' 意味着在前面的任何内容中添加一个 C,在结尾的任何内容中添加一个 %。
例如,从 emp WHERE ENAME LIKE '%S%' 或 JOB LIKE '%C%' AND SAL=8 00 中进行选择。

ISNULL 是判断一个值是否为空。
例如SAL+IFNULL(COMM,0),如果奖金为空,则加为0。
年薪为((月薪+奖金)1 2 )。

这意味着所有对,或者意味着只有一对可以做到这一点。
而不是相反。
优先级是 和>OR。
使用升序 ASC、降序 DESC、ORDER BY 和字段进行排序。

当执行连接表(例如 emp 和 dept 表)的查询时,必须添加连接条件。
笛卡尔积是无条件完美恒等式,因此 ON emp.DEPTNO=dept.DEPTNO。

写法是从表中选择字段,用条件连接表。
INNER JOIN 是等值连接,例如 SELECT table1 .column, table2 .column FROM table1 INNER JOIN table2 ON table1 .column1 =table2 .column2
LEFT JOIN表示所有内容都包含在左表中,NULL用于填充右表中缺失的元素。
RIGHT JOIN 拥有正确表上的所有内容。
例如,指定 emp.EMPNO、emp.ENAME、emp.SAL、dept.DNAME FROM dept RIGHT JOIN emp ON emp.DEPTNO=dept.DEPTNO。

单行函数独立计算,多行函数一起计算。
例如,COUNT 是项目数,AVG 是平均值,SUM 是相加,MAX 是最大值,MIN 是最小值。

GROUP BY用于分组,如SELECT JOB、MAX(SAL)max、MIN(SAL)min FROM emp GROUP BY JOB ORDER BY SAL。

使用 NOW 函数获取当地时间。
要将日期转换为字符串,请使用 DATE_FORMAT(date, format)。

查询结果分为几种类型:一行一列表示一行一列,多行一列表示一行多列或零行,多行多列表示多行多列。

子查询可以与 WHERE 一起使用,单个行和列可以与 =、>、< 等一起使用。
例如,如果 Salary 高于 MARTIN,则 SELECT FROM emp WHERE SAL > (SELECT SAL FROM emp其中 ENAME='马丁')。

IN是子查询结果的比例。
工资等于部门经理的SELECT FROM emp WHERE SAL IN(SELECT SAL FROM emp WHERE JOB='MANAGER')。

查看部门员工人数和平均工资的方法是 SELECT e.DEPTNO, d.DNAME, COUNT(), AVG(e.SAL), e.ENAME FROM emp e JOIN dept d ON e.DEPTNO=d.DEPTNO GROUP BY e.DEPTNO。

MySQL中一列求和函数SUMmysql一列求和函数

哎哟,MySQL中的SUM函数真是个宝啊。
我已经使用它很多年了,每次使用它的时候都感觉很熟悉。
简单来说,SUM 函数用于将列中的数字相加。
例如,如果您有一个名为 transactions 的表,其中记录了每笔交易的金额,并且您想知道每笔交易的总金额,这就是 SUM 函数派上用场的地方。

我记得有一次帮一位经营电子商务公司的朋友统计了他一个月的总销售额。
它有一个名为 order 的表,其中包含每个订单的金额。
我写了一条SQL语句,如下: SELECT SUM(amount) FROM order;结果很快就出来了,数字看起来非常引人注目。

但是,SUM函数也有自己的特点。
例如,它只能处理数字类型列,例如 INT、FLOAT 和 DOUBLE。
如果你用绳子绑住他,他会生你的气。
它对 NULL 值也不感兴趣。
遇到NULL值时会自动跳过,不将其计入总数中。

我曾经遇到过一个问题。
一个表中有几列,我想分别计算它们的总和。
我写了一条SQL语句,如下: SELECT SUM(column1 ), SUM(column2 ), SUM(column3 ) FROM table_name;这样你就可以得到每列的总和。

还有一种情况,就是分组求和。
例如,如果要按日期统计每日销售额,可以使用 GROUP BY 子句。
我记得有一次帮一位在旅游网站工作的朋友统计他每天的订单量。
我写了一条SQL语句,如下: SELECT date, SUM(amount) FROM Orders GROUP BY date;结果按日期划分,一目了然。

但是,在使用SUM函数时,也应该注意性能问题。
如果在查询中使用GROUP BY,MySQL会按组顺序计算聚合函数,有时可能会比较慢。
当时我不明白为什么计算有时会很慢。
后来查资料才发现优化是一门大学学科。

总之,SUM函数是个好东西。
如果你用的多了,你就会知道它有多么方便。
不过,在使用的时候也要注意一些细节,不要让它给你带来麻烦。