select fname, lname, salary
from employee
where exists (
select essn from dependent where employee.sex = dependent.sex
);
如何将包含关键字 EXIST 的 SQL 查询转换为关系代数?
更好的 SQL,避免
exists
:
select distinct fname,lname,salary from employee
join dependent on employee.sex = dependent.sex;
更好的 SQL,但只有在
sex
是表之间唯一共同的列时才有效 employee, dependent
select distinct fname,lname,salary from employee
natural join dependent;
关系代数附录A风格(具有相同的附带条件)
(employee JOIN dependent) {fname,lname,salary}
关系代数Codd 1972 风格(具有相同的条件)
π<fname,lname,salary>(employee ⋈ dependent)
< >
中,因为下标在 SO 代码中不起作用。)