SQL Review Exercise 3


For each of the following SQL statements, give an equivalent relational algebra expression, if possible.

  1. select distinct B.age, B.rank 
    from employee A, employee B 
    where A.enum > B.enum

    B.age, B.rank(A.enum > B.enum(A(employee) × B(employee)))

  2. select max(salary) 
    from employee 
    where rank = manager

    salary(rank=manager(employee)) - employee.salary(employee.salary < E.salary(rank=manager(employee) × rank=manager(E(employee))))

  3. select deptnum, max(salary) 
    from employee 
    where rank = manager
    group by deptnum

    NOT POSSIBLE

  4. select distinct enum 
    from employee 
    where not exists
         (select * 
          from projects 
          where not exists
                    (select * 
                     from works 
                     where employee.enum = works.enum and works.pnum = projects.pnum))

    employee.enum, works.pnum(employee.enum = works.enum (employee × works)) / pnum(projects)


Updated: Mar 1, 2003