请问oracle中=与in有什么区别,求大神

 我来答
床前明月儿
高能答主

2019-12-06 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171951

向TA提问 私信TA
展开全部

一、范围不同

1、=:用来查询指定的数据记录。

2、in:用来查询范围内匹配的数据。

二、语法不同

1、=:DELETE FROM example WHERE column2 = 'N'。

2、in:SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2,...)。


三、规定不同

1、=:等号运算符中可以使用字符串、日期或数字。例如,比如想要查询字段为name,值为“MTbaby”的工作人员,可以使用等号进行匹配

2、in:允许在 WHERE 子句中规定多个值。

参考资料来源:百度百科-SQL IN

参考资料来源:百度百科-SQL语法

李翀昊
推荐于2017-09-05 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:98.7万
展开全部
首先应用范围不一样:
in 可以理解为是范围内的选择
= 只有一个
例如:
select sno, sname from t1 where sno in ('sn1001','sn1002');
select sno, sname from t1 where sno in ('sn1001');
select sno, sname from t1 where sno ='sn1001';
select sno, sname from t1 where sno in (select sno from t2); --子查询结果可以不止一个结果
select sno, sname from t1 where sno =(select sno from t2); --子查询结果只能有一个
其次性能也不一样;=的性能大于in的性能,因为=能较好的使用索引等
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ubai_2009
2015-06-26 · TA获得超过631个赞
知道小有建树答主
回答量:366
采纳率:66%
帮助的人:163万
展开全部
=只能与一个固定值相比较,比如:=3,='姓名'
in是包含在一个范围内,比如:in (1,2,3), in('张三','李四','王五')
in (1,2,3)等价于:=1 or =2 or =3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuboalt
2015-06-26 · TA获得超过578个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:211万
展开全部
in里面可以放入多个参数 = 后面是一个参数
比如.查学生表 学生有 年龄字段. 要查年龄为18,28,38岁的学生...
假设有38岁的学生........

select * from Student where age in (18,28,38);即可.
但是用等于 就要写成
select * from Student where age = 18 or age =28 or age =38:
追问
就是in后面能跟多个查询条件而=只有一个?
追答
准确说不是多个查询条件 而是一个条件符合的多种情况
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
archivezip
2015-06-26 · 超过146用户采纳过TA的回答
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:206万
展开全部
执行速度上有区别。
更多追问追答
追问
有区别
有个语句用in能执行,用=无法执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式