Oracle SQL查询实践:模糊查询与条件筛选

需积分: 9 11 下载量 126 浏览量 更新于2024-08-15 收藏 2.91MB PPT 举报
"Oracle SQL是用于管理Oracle数据库的强大查询语言,本资料主要涵盖了在实际课堂练习中的几个关键查询示例,旨在帮助学习者掌握基本的SQL查询技巧。通过已建立的S_emp表,我们将探讨如何进行模糊查询、范围查询以及多条件查询。" 在Oracle SQL中,`SELECT`语句是查询数据的基础,它允许我们从一个或多个表中提取所需的信息。在提供的内容中,我们看到了几个使用`SELECT`语句的例子,这将帮助我们理解其基本语法和用途。 1. **查询所有列**: `SELECT * FROM s_emp` 这条语句会返回`S_emp`表中的所有列和行。星号(*)是一个通配符,代表所有列。 2. **查询指定列**: 如果我们只想获取特定列,例如`dept_id`和`salary`,则可以写成 `SELECT dept_id, salary FROM s_emp`。这只会返回指定列的数据。 3. **运用算数表达式**: 在查询中,我们可以使用算术运算符(如*,/,+,-)来处理数值。例如,计算员工的年薪:`SELECT salary*12 FROM s_emp`。这里乘以12表示年化工资。 4. **运算符优先级与括号的使用**: 括号可以用来改变运算的优先级。比如,如果我们想计算年薪并加上100,但先加100再乘以12,应写成 `SELECT last_name, salary, 12*(salary+100) FROM s_emp`。不使用括号可能会导致错误的结果,因为乘法运算通常比加法先执行。 对于课堂练习中的具体要求: - **模糊查询**: 要找到last_name以“M”开头且dept_id为'3X'的员工,可以使用`LIKE`关键字和通配符:`SELECT * FROM S_emp WHERE last_name LIKE 'M%' AND dept_id = '3X'`。`LIKE 'M%'`意味着last_name必须以字母"M"开头。 - **范围查询**: 要找出工资在1200到1500之间的员工,我们可以使用`BETWEEN`操作符:`SELECT * FROM S_emp WHERE salary BETWEEN 1200 AND 1500`。 - **多条件查询**: 要查询部门ID为41, 42或43的员工,可以使用`IN`操作符:`SELECT * FROM S_emp WHERE dept_id IN (41, 42, 43)`。 掌握这些基础的SQL查询技巧对于任何想要在Oracle数据库上工作的人员都是至关重要的,它们构成了更复杂查询的基础,并能帮助用户有效地获取和分析数据。