我面试j2ee他问我数据库设计方面的问题,要求如下:1、有两张表:employee(员工) 和 skill(员工的技能)2、一个员工可能有多个技能也可能没有技能3、如何设计这两张表? 如何用sql查出每个员工的所有技能?我数据库太过薄弱这道题答不上来,有人能告诉我吗? 具体的表设计和具体sql
 

解决方案 »

  1.   

    SELECT employee.emplyeeName,
           skill.技能
      FROM employee
      LEFT JOIN skill
             ON employee.employeeID = skill.employeeID;解释:
    emplyeeName:员工姓名
    employeeID:员工id
      

  2.   


    觉得这样就可以。emplyee表主键 id,skill表主键id,skillid
      

  3.   

    应该是主外键关系。
    employee 的主键作为skill 表外键的引用.
    alter table skill add constraint fk_skill foreign key (skill_id) references employee(emp_id);--查询每个员工的skill信息
    select * from skill s where exists (select 1 from employee e where e.skill_id = s.skill_id);