如果一个员工关联一个部门,
1.第一条SQL先查出员工的部门id
2.把部门的id放进set集合中去重复
3.第二条sql再查询部门的id 在(in) set集合中的部门
4.在程序里面根据id把查出来的部门一个个设置到员工里面
优点:1.解决连接查询时可能产生的多余数据,导致结果集很大,消耗性能(一百个员工关联一个部门,会产生九十九个多余的数据)
2.解决冗余数据的问题(比如a表需要显示b表的数据,我们可以把b表的数据作为冗余的数据放到a表中,但是更新a表或者b表时,需要有额外的业务逻辑去维护表之间的关联关系)
缺点:需要在程序中多做两件事情。把员工查出来后需要合并部门的id。把部门查询出来之后设置给员工。这一步对系统的性能没有影响。