在本课堂练习中,我们将深入探讨Oracle SQL语言的基本查询和操作,针对已建立好的S_emp表进行一系列的查询练习。首先,我们关注的是基础的查询语句结构,包括如何从表中选择特定列和对数据的筛选。
1. **模糊查询**: 对于last_name以“M”开头的员工,我们可以使用LIKE操作符进行模糊匹配。例如,查询语句可能是这样的:
```
SELECT * FROM s_emp WHERE last_name LIKE 'M%';
```
这将返回所有last_name字段以"M"开头的记录。
2. **范围查询**: 查询工资在1200至1500之间的员工,使用BETWEEN关键字,查询语句如下:
```
SELECT * FROM s_emp WHERE salary BETWEEN 1200 AND 1500;
```
这将返回工资在指定范围内的员工。
3. **多条件查询**: 要查询来自部门ID为(41, 42, 43)的员工,可以使用IN关键字:
```
SELECT * FROM s_emp WHERE dept_id IN (41, 42, 43);
```
这个查询会返回部门ID在指定集合内的员工记录。
4. **指定列查询与字段别名**: 学习如何为查询结果的字段取别名,如查询部门ID和工资:
```
SELECT dept_id AS department_id, salary AS annual_salary FROM s_emp;
```
这里,`department_id`和`annual_salary`是别名,使得查询结果更易读。
5. **算术表达式**: 运用算数表达式来计算员工的年薪,比如乘以12:
```
SELECT salary, salary * 12 AS annual_salary FROM s_emp;
```
或者使用括号调整运算顺序,先加100再乘以12:
```
SELECT last_name, salary, 12 * (salary + 100) AS adjusted_annual_salary FROM s_emp;
```
和
```
SELECT last_name, salary, 12 * salary + 100 AS annual_salary_plus_bonus FROM s_emp;
```
这些练习涵盖了Oracle SQL的基础查询,从简单的查找特定条件的数据到处理算数表达式和运算符优先级。通过这些实践,学生可以更好地理解如何构造复杂的查询,以及如何根据实际需求对数据进行过滤、计算和格式化。熟练掌握这些技能对于在实际工作中编写高效、准确的查询至关重要。