Oracle数据库:SQL语句实战-模糊查询与部门工资计算

需积分: 35 10 下载量 165 浏览量 更新于2024-08-23 收藏 3.47MB PPT 举报
本篇课堂练习旨在详细解析Oracle数据库SQL语句,通过实际操作来巩固和理解基础查询技巧。首先,学生被要求对已建立好的S_emp表进行操作,该表包含员工的基本信息,如姓名(last_name)、日期(Date)以及薪资(salary)等字段。 1. **模糊查询**:练习的第一部分是查询last_name以“M”开头的员工,这需要用到LIKE运算符,即`SELECT * FROM s_emp WHERE last_name LIKE 'M%'`。这里的`%`通配符表示任何字符序列,所以查询结果将返回所有姓氏以“M”开头的员工。 2. **范围查询**:针对工资,要求查询1200至1500之间的员工,可以使用BETWEEN运算符,即`SELECT * FROM s_emp WHERE salary BETWEEN 1200 AND 1500`。注意,SQL语句中数字不加引号,因为它们是数值常量。 3. **多条件查询**:查询来自部门ID为41, 42, 43的员工,可以使用IN运算符,即`SELECT * FROM s_emp WHERE dept_id IN (41, 42, 43)`。这样可以一次查询满足多个条件的数据。 4. **指定列查询**:进一步要求查询特定字段,例如查询部门ID(dept_id)和工资(salary),则使用`SELECT dept_id, salary FROM s_emp`,这样输出的结果集中只包含这两列的数据。 5. **算数表达式应用**:接下来的练习涉及计算,如查询每个员工的年薪,这可以通过乘法运算实现,例如`SELECT salary * 12 AS '年薪' FROM s_emp`,其中AS关键字用于为计算结果起别名,方便阅读。 6. **运算符优先级与括号**:为了演示运算符的优先级,使用了括号来明确运算顺序。在查询`SELECT last_name, salary, (12 * salary) + 100`中,括号确保了先执行乘法再加100。另一个例子`SELECT last_name, salary, 12 * (salary + 100)`则先加100再做乘法。 通过这些步骤,学生可以深入理解如何构造复杂的SQL查询,并熟练掌握如何在Oracle数据库中筛选、计算和提取所需数据。每个练习都强调了SQL语句的基本结构和功能,同时涵盖了表达式、运算符、空值处理、别名设置以及优先级控制等内容。