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

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

一、范围不同

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 from Appuser where UserID In (101,102,103,104)

ON主要是用来做两个表的连接的。

如:

select distinct customerscustomerid,customerscompanyname

from customers join orders on

(customerscustomerid=orderscustomerid

)

where ordersshippeddate>2002-05-09

sql

aggregate

函数是什么数据库可以用

sql

拥有很多可用于计数和计算的内建函数

[编辑本段]函数的语法

内建

sql

函数的语法是:

select

function(列)

from

[编辑本段]函数的类型

sql

中,基本的函数类型和种类有若干种。函数的基本类型是:

aggregate

函数

scalar

函数

表A(小表),表B(大表)

select from B where cc in (select cc from A) 这个语句中是先从A表中把cc找出来,然后根据cc再在B中去找相关的cc 由于A表的cc远小于B表的cc 所以可以节省时间

select from B exists (select cc from A where cc=Bcc)这句话是先从B表里把cc找出来 然后再在A表里找相关的cc 由于B表的cc远多于A表的cc 所以这样做很浪费时间

总结: 用in 时 大表在前小表在后

用exists时 小表在前大表在后

in是把外表和内表作hash连接,而exists是对外表作loop循环。

确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比较小的时候,in的速度较快。

具体sql语句如下:

1 SELECT 2     3 FROM 4     `user` 5 WHERE 6     `user`id IN ( 7         SELECT 8             `order`user_id 9         FROM10             `order`

exist是指定一个子查询,检测行的存在。遍历循环外表,然后看外表中的记录有没有和内表的数据一样的。匹配上就将结果放入结果集中。

具体sql语句如下:

1 SELECT 2     `user` 3 FROM 4     `user` 5 WHERE 6     EXISTS ( 7         SELECT 8             `order`user_id 9         FROM10             `order`11         WHERE12             `user`id = `order`user_id

以上就是关于请问oracle中=与in有什么区别,求大神全部的内容,包括:请问oracle中=与in有什么区别,求大神、sql server中的关键字in和on有什么区别、数据库中in函数可以用什么代替等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10101133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存