原题为:
有如下2个关系表Emp(eid,ename,age,did,salary),其各列含义为:职工号,姓名,年龄,部门号,工资Dept(did,dname,mgr_id),其各列含义为:部门号,部门名称,部门经理职工号写出一条SQL语句,查询工资大于10000,且与他所在部门的经理年龄相同的职工姓名。答案给出的是:
Select  a.*  from  Emp a, Dept b,Emp c Where  a.did=b.did  and  b.mgr_ id=c.eid  and  a.salary>10000  and  a.age=c.age
有两个问题,第一,怎么理解语句中两次使用了Emp这个表,两次使用的分别起什么作用?第二,这两个表设计合理吗,emp的主码是eid,外码是did,而Dept中主码是did,外码是mgr_id,两个表的主码和外码互相依赖,创建表时不就无法定义约束吗?请高手指教。