请问一下sql语句

来源:百度知道 编辑:UC知道 时间:2024/05/05 07:51:38
strSql= PRO_DEP_NODE_ID in (select T_HR_ORGANIZATION_ID from T_HR_ORGANIZATION where ORGAN_NO like (select ORGAN_NO from T_HR_ORGANIZATION where T_HR_ORGANIZATION_ID ="+assetAllInfVO.PRO_DEP_NODE_ID+") ||'%') ";

请问上面那个跟下面这个有什么区别。谢谢!

strSql= PRO_DEP_NODE_ID in (select T_HR_ORGANIZATION_ID where T_HR_ORGANIZATION_ID ="+assetAllInfVO.PRO_DEP_NODE_ID+") ||'%') ";

假如 id=1000
找到 ORGANIZATION=‘a’

然后找到对应ORGANIZATION=‘a’的id有1000,2000
那么下面的语句就找找不到2000

如果id跟ORGANIZATION是一对一的,两句的效果是一样的
如果不是一对一的关系,下面的sql得到的结果集可能比上面的要少