问个sql小提。大牛勿进# JobHunting - 待字闺中t*r2016-02-19 08:021 楼“给一个table有employee name, employee id, manager id,如何找到所有manager的name,我说用两次select套用,他说应该用self join...= =”这怎么写?
j*r2016-02-19 08:022 楼imagine you have the same table as t1 and t2. it's a simple join.【在 t**r 的大作中提到】: “给一个table有employee name, employee id, manager id,如何找到所有manager的: name,我说用两次select套用,他说应该用self join...= =”: 这怎么写?
k*e2016-02-19 08:023 楼也许?select a.employee_name from YOUR_TABLE a, YOUR_TABLE b where a.employee_id=b.manager_id
a*52016-02-19 08:024 楼类似这样的把SELECT DISTINCT m.employee_name FROM table_name e, table_name m WHERE e.manager_id = m.employee_id;
r*i2016-02-19 08:025 楼Select employee name from employee e1Inner join employee e2 on e1.employeeid=e2.managerid【在 t**r 的大作中提到】: “给一个table有employee name, employee id, manager id,如何找到所有manager的: name,我说用两次select套用,他说应该用self join...= =”: 这怎么写?
l*u2016-02-19 08:027 楼不是manager的employee,manager id应该是空的吧。。。为什么要join。。。【在 t**r 的大作中提到】: “给一个table有employee name, employee id, manager id,如何找到所有manager的: name,我说用两次select套用,他说应该用self join...= =”: 这怎么写?
p*r2016-02-19 08:028 楼面官是个傻逼,两次select套用在大数据量情况下,比join快多了。【在 t**r 的大作中提到】: “给一个table有employee name, employee id, manager id,如何找到所有manager的: name,我说用两次select套用,他说应该用self join...= =”: 这怎么写?
p*r2016-02-19 08:0210 楼>1000 rows,就能有明显差异。再说了数据不多,反复调用呢?不是一样省开销。这面试官绝对刚他妈的学了个join,就自以为是的整天join join,join他妈个逼join做久的都是能不用就不用。【在 a****e 的大作中提到】: 什么公司的employee 用大数据?
N*D2016-02-19 08:0211 楼Salesforce?【在 t**r 的大作中提到】: “给一个table有employee name, employee id, manager id,如何找到所有manager的: name,我说用两次select套用,他说应该用self join...= =”: 这怎么写?
j*o2016-02-19 08:0212 楼每个employee都有manager,除非是CEO【在 l*********u 的大作中提到】: 不是manager的employee,manager id应该是空的吧。。。为什么要join。。。
c*n2016-02-19 08:0213 楼select distinct t1.name, t2.manager_idfrom table as t1, table as t2where t1.employee_id = t2.manager_id大概这样?我觉得他的意思是 manager自己是自己的employee,要不然只要找所有employee为空的集合的补集就可以了,因为只有纯employee手下是没有人的……【在 t**r 的大作中提到】: “给一个table有employee name, employee id, manager id,如何找到所有manager的: name,我说用两次select套用,他说应该用self join...= =”: 这怎么写?
l*u2016-02-19 08:0214 楼你说的对。看来确实要self join,t1.employee_id=t2.manager_id,就是managers【在 j******o 的大作中提到】: 每个employee都有manager,除非是CEO