SQL查询技巧:薪水排序与日期函数
需积分: 48 198 浏览量
更新于2024-08-15
收藏 248KB PPT 举报
"嵌入式数据库基础2-薪水排序与日期函数及组函数应用"
在IT行业中,数据库管理是至关重要的部分,特别是对于处理和分析数据。本资源主要讲解了如何在SQL中对数据进行排序以及使用日期函数和组函数进行数据分析。
首先,排序是数据库查询中的基本操作。在SQL中,可以使用`ORDER BY`语句对数据进行排序。例如,如果你想按照薪水从高到低对员工进行排序,你可以使用以下命令:
```sql
SELECT ename, salary FROM emp_xxx ORDER BY salary DESC;
```
这里的`DESC`关键字表示降序排列,如果省略,则默认为升序(`ASC`)。同时,可以结合多个字段进行排序,例如先按部门(`deptno`)排序,同一部门内再按薪水降序排序:
```sql
SELECT ename, deptno, salary FROM emp_xxx ORDER BY deptno, salary DESC;
```
接下来,我们探讨日期函数。在SQL中,有三个常用的日期和时间函数:
1. `NOW()`:返回当前的日期和时间,格式为`YYYY-MM-DDHH:MM:SS`,数据类型为`DATETIME`。
2. `CURDATE()`:返回今天的日期,格式为`YYYY-MM-DD`,数据类型为`DATE`。
3. `CURTIME()`:返回当前的时间,格式为`HH:MM:SS`,数据类型为`TIME`。
例如,计算员工的入职天数,可以使用`TO_DAYS()`函数:
```sql
SELECT ename, hiredate, (TO_DAYS(CURDATE()) - TO_DAYS(hiredate)) AS days FROM emp_xxx;
```
然后,我们来谈谈组函数。组函数用于对一组值执行计算,包括`COUNT()`, `AVG()`, `SUM()`, `MAX()`和`MIN()`。例如:
- `COUNT(*)`返回表中的记录总数。
- `COUNT(hiredate)`返回非`NULL`的`hiredate`值的数量。
- `SUM(salary)`返回所有员工的薪水总和。
- `AVG(salary)`计算所有员工的平均薪水。
需要注意的是,当使用`AVG(salary)`时,它会忽略`NULL`值,因此可能不会反映出所有员工的平均值。为了得到更准确的平均值,可以使用`IFNULL(salary, 0)`来确保即使薪水为`NULL`也参与计算:
```sql
SELECT COUNT(*) AS num, SUM(salary) AS sum_sal, AVG(IFNULL(salary, 0)) AS avg_sal FROM emp_xxx;
```
此外,`MAX(salary)`和`MIN(salary)`分别用于找出员工的最高和最低薪水。
通过掌握这些基本的SQL排序、日期函数和组函数,你将能够更有效地管理和分析嵌入式数据库中的数据,从而在IT领域中提升你的工作效率和分析能力。
2023-06-30 上传
2023-12-27 上传
2019-07-09 上传
2023-06-11 上传
2023-08-02 上传
2024-01-09 上传
2023-06-03 上传
2023-05-12 上传
2024-05-15 上传
魔屋
- 粉丝: 27
- 资源: 2万+
最新资源
- pandas_func-0.1.tar.gz
- HMtools:水文模拟的一些工具
- 愤怒:针对JVM语言的新构建工具
- MyFirstApp
- EdgeLedger-website:响应式博客网站,是有关Udemy课程的一部分。 (HTML,CSS,JavaScript,Lightbox2,jQuery)
- pandas_gdc_agent-0.0.3.tar.gz
- Input Templates for Chrome-crx插件
- 记事本
- TTKOCR:OCR识别图片以及PDF中的文字,基于Windows和Linux的Qt
- inactivo-开源
- TICQLib-开源
- 实用的Python编程(@dabeaz的课程)-Python开发
- pandas_gdc_agent-0.0.2.tar.gz
- CatalystOne.93z8ql9mvz.gaVW3jf
- featran:一个用于数据科学和机器学习的Scala功能转换库
- Scribo Pronto-crx插件