SQL查询实例:从基础到高级操作
需积分: 7 111 浏览量
更新于2024-09-10
收藏 16KB DOCX 举报
"SQL查询99法是一份关于如何使用SQL进行数据查询的教程,涵盖了基础到进阶的各种查询技巧。教程中通过一系列实例展示了如何从一个名为`emp`的员工表中提取不同类型的员工信息,包括编号、姓名、工作、年薪、奖金等。"
在SQL查询中,以下是一些关键知识点的详细说明:
1. 选择所有列:`SELECT * FROM emp;` 这是最基本的查询,返回`emp`表中的所有记录和所有列。
2. 选择特定列:`SELECT empno, ename, job FROM emp;` 仅选择指定的列(如员工编号、姓名和职位)。
3. 别名的使用:`SELECT empno 编号, ename 姓名, job 工作 FROM emp;` 可以给列设置别名,使输出更易读。
4. 选择单个列:`SELECT job FROM emp;` 用于获取某一列的所有值。
5. 去除重复值:`SELECT DISTINCT job FROM emp;` 使用`DISTINCT`关键字去除同一列中的重复值。
6. 对多列去重:`SELECT DISTINCT empno, job FROM emp;` 对多个列进行去重,只有当所有选定列的组合都不同才会被视作不同的行。
7. 自定义格式化输出:`SELECT '编号是:' || empno || '的雇员,姓名是:' || ename || ',工作是:' || job FROM emp;` 使用字符串连接操作符`||`将字段值与文本结合,定制输出格式。
8. 计算年薪:`SELECT ename, sal * 12 AS income FROM emp;` 计算员工的年薪,并用`AS`关键字给计算结果列取别名。
9. 条件筛选:`SELECT * FROM emp WHERE sal > 1500;` 使用`WHERE`子句筛选满足特定条件(如工资大于1500)的行。
10. 筛选非空值:`SELECT * FROM emp WHERE comm IS NOT NULL;` 查找佣金(`comm`)不为空的员工。
11. 筛选空值:`SELECT * FROM emp WHERE comm IS NULL;` 相反地,筛选佣金为空的员工。
12. 多个条件同时满足:`SELECT * FROM emp WHERE sal > 1500 AND comm IS NOT NULL;` 使用`AND`操作符,找出工资大于1500且有奖金的员工。
13. 多个条件之一满足:`SELECT * FROM emp WHERE sal > 1500 OR comm IS NOT NULL;` 使用`OR`操作符,找出工资大于1500或有奖金的员工。
14. 逻辑否定:`SELECT * FROM emp WHERE NOT (sal > 1500 AND comm IS NOT NULL);` 使用`NOT`操作符,找出不同时满足工资大于1500和有奖金的员工。
15. 区间查询:`SELECT * FROM emp WHERE sal > 1500 AND sal < 3000;` 找出工资在1500到3000之间的员工。
16. 区间查询(包含边界):`SELECT * FROM emp WHERE sal >= 1500 AND sal <= 3000;` 或者 `SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000;` 查找工资在1500到3000(含边界)的员工。
17. 日期条件:`SELECT * FROM emp WHERE hiredate BETWEEN '1981-01-01' AND '1981-12-31';` 使用`BETWEEN`查找在特定日期范围内入职的员工。
这些示例展示了SQL在处理数据查询时的灵活性和强大功能,包括选择、过滤、别名、计算、逻辑运算和日期处理等多种操作。通过掌握这些基本查询,可以应对大多数数据检索的需求。
2010-06-22 上传
2008-09-20 上传
2023-07-11 上传
2023-06-13 上传
2023-07-11 上传
2023-06-03 上传
2023-05-28 上传
2024-04-16 上传
2023-10-12 上传
丨一帆风顺丨
- 粉丝: 0
- 资源: 1
最新资源
- 批量文件重命名神器:HaoZipRename使用技巧
- 简洁注册登录界面设计与代码实现
- 掌握Python字符串处理与正则表达式技巧
- YOLOv5模块改进 - C3与RFAConv融合增强空间特征
- 基于EasyX的C语言打字小游戏开发教程
- 前端项目作业资源包:完整可复现的开发经验分享
- 三菱PLC与组态王实现加热炉温度智能控制
- 使用Go语言通过Consul实现Prometheus监控服务自动注册
- 深入解析Python进程与线程的并发机制
- 小波神经网络均衡算法:MATLAB仿真及信道模型对比
- PHP 8.3 中文版官方手册(CHM格式)
- SSM框架+Layuimini的酒店管理系统开发教程
- 基于SpringBoot和Vue的招聘平台完整设计与实现教程
- 移动商品推荐系统:APP设计与实现
- JAVA代码生成器:一站式后台系统快速搭建解决方案
- JSP驾校预约管理系统设计与SSM框架结合案例解析