请问oracle中=与in有什么区别,求大神
6个回答
展开全部
一、范围不同
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语法
展开全部
首先应用范围不一样:
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的性能,因为=能较好的使用索引等
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的性能,因为=能较好的使用索引等
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
=只能与一个固定值相比较,比如:=3,='姓名'
in是包含在一个范围内,比如:in (1,2,3), in('张三','李四','王五')
in (1,2,3)等价于:=1 or =2 or =3
in是包含在一个范围内,比如:in (1,2,3), in('张三','李四','王五')
in (1,2,3)等价于:=1 or =2 or =3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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:
比如.查学生表 学生有 年龄字段. 要查年龄为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后面能跟多个查询条件而=只有一个?
追答
准确说不是多个查询条件 而是一个条件符合的多种情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
执行速度上有区别。
更多追问追答
追问
有区别
有个语句用in能执行,用=无法执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询