大连理工数据库关系代数练习解析
1. 查找10号部门员工的所有信息
为了获取10号部门员工的所有信息,我们需要从包含员工信息的表(通常命名为emp
)中进行选择操作。可以通过以下SQL语句实现:
SELECT * FROM emp WHERE deptno = 10;
这里的关键点在于WHERE
子句中的条件deptno = 10
用于筛选出10号部门的员工。
2. 找出10号部门工资大于3500的员工的姓名和工资
此题涉及到了筛选特定条件下的数据。我们只需要从emp
表中选取10号部门且工资大于3500的员工的姓名和工资。这可以通过以下SQL语句实现:
SELECT ename, sal FROM emp WHERE deptno = 10 AND sal > 3500;
这里的关键在于同时使用了两个筛选条件:deptno = 10
和sal > 3500
。
3. Union
集合并(UNION)是SQL中的一种操作,用于合并两个或多个SELECT
语句的结果集,并去除重复的行。例如:
(SELECT ename FROM emp WHERE deptno = 10) UNION (SELECT ename FROM emp WHERE deptno = 20);
这里,第一个SELECT
语句返回10号部门员工的姓名,第二个返回20号部门员工的姓名。
4. 查询10号部门及20号部门的员工(两种方式)
除了使用UNION,还可以通过使用IN操作符或OR逻辑运算符来实现同样的目标。例如:
- 使用IN操作符:
SELECT * FROM emp WHERE deptno IN (10, 20);
- 使用OR操作符:
SELECT * FROM emp WHERE deptno = 10 OR deptno = 20;
这两种方法都会返回10号部门和20号部门的员工。