大连理工数据库关系代数练习解析

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 = 10sal > 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号部门的员工。