Oracle数据库查询基础:99条实用SQL语句

1 下载量 92 浏览量 更新于2024-08-28 1 收藏 74KB PDF 举报
"这篇文档提供了一系列的Oracle数据库查询语句示例,涵盖了基础的SELECT语句,如选择所有列、指定列、去除重复项,以及更复杂的查询,如结合条件、计算年薪、处理NULL值等。这些语句帮助用户更好地理解和操作Oracle数据库中的数据。" 在Oracle数据库中,查询语句是数据检索的核心,以下是一些常见的查询技巧和知识点: 1. 选择所有列: `select * from emp;` 这是最基础的查询,返回表`emp`中的所有记录和所有列。 2. 选择指定列: `select empno, ename, job from emp;` 只选择`empno`, `ename`, 和 `job` 列。 3. 重命名列: `select empno 编号, ename 姓名, job 工作 from emp;` 可以用AS关键字或直接空格来重命名列的显示名称。 4. 选择不重复的列: `select distinct job from emp;` 使用DISTINCT关键字去除结果中的重复值。 5. 多列去重: `select distinct empno, job from emp;` 当多个列组合时,只有所有列都相同才会被视为重复。 6. 字符串连接: `select '编号是: ' || empno || ' 的雇员, 姓名是: ' || ename || ', 工作是: ' || job from emp;` 使用`||`进行字符串拼接,自定义列的显示格式。 7. 计算年薪: `select ename, sal*12 income from emp;` 直接在查询中进行简单的数学运算,如将`sal`乘以12得到年薪。 8. 基于条件的查询: `select * from emp where sal > 1500;` 使用WHERE子句过滤满足特定条件的记录。 9. 处理NULL值: `select * from emp where comm is not null;` 和 `select * from emp where comm is null;` 分别用于查询有奖金和无奖金的雇员。 10. 逻辑运算符: `and` 和 `or` 用于组合多个条件,如`sal>1500 and comm is not null;` 或 `sal>1500 or comm is not null;`。 11. 否定条件: `not` 用于反转条件,如`not (sal>1500 and comm is not null);` 查询基本工资不大于1500且无奖金的雇员。 12. 范围查询: `between` 关键字用于查询处于特定范围内的值,如`sal between 1500 and 3000;`。 13. 日期条件: 查询特定日期范围内的记录,通常涉及TO_DATE函数和日期运算,例如`where hiredate between TO_DATE('1981-01-01', 'yyyy-mm-dd') and TO_DATE('1981-12-31', 'yyyy-mm-dd');` 这些示例展示了如何利用Oracle SQL进行复杂的数据查询,包括选择特定列、去除重复、字符串操作、条件过滤、数值计算、NULL值处理以及日期操作等。熟练掌握这些技巧对于日常的数据库操作和数据分析至关重要。