推荐回答
Oracle语句中IN和=的区别有:1、首先应用范围不一样:in可以理解为是范围内的选择;=只有一个。例如:selectsno,snamefromt1wheresnoin''sn1001'',''sn1002'';selectsno,snamefromt1wheresnoin''sn1001'';selectsno,snamefromt1wheresno=''sn1001'';selectsno,snamefromt1wheresnoinselectsnofromt2;--子查询结果可以不止一个结果selectsno,snamefromt1wheresno=selectsnofromt2; --子查询结果只能有一个。2、其次性能也不一样;=的性能大于in的性能,因为=能较好的使用索引等。3、in表示在一个结合内进行查询,比如select*fromcharacterwhereletterin''A'',''B'',''C''。=的作用就是一个值的比较。但是等号也可以实现in的效果,只是写起来比较麻烦。比如上面的例子,也可以这样写:select*fromcharacterwhereletter=''A''orletter=''B''orletter=''C''.两个运算符都比较常用,根据具体的情况选择。
黄登渭2019-12-22 00:05:51
提示您:回答为网友贡献,仅供参考。