SqlServer 中 in 和 between的用法..

SqlServer 中 in 和 between的用法..,第1张

*** 作符 BETWEEN AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

IN *** 作符允许我们在 WHERE 子句中规定多个值。IN *** 作符允许我们在 WHERE 子句中规定多个值。

扩展资料

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

参考资料SQL_ 百度百科

关系数据库SQL语言都支持“in”运算符,access数据库当然也不例外。

语法

expr [Not] In(value1, value2, )

expr --> 被识别的字段表达式

value1, value2, --> 被查找的值列表

如果被识别的字段表达式在值列表中找到了对应的值,则“in”运算符返回true(真),如果找不到列表中的任何一个值,in就会返回false(假)。使用关键字not则是对in运算结果取反。

下面提供几个例子供参考,以便进一步理解in运算符

1)列出销售地区在“北京”、“上海”和“广州”的代理商资料

select from 代理商 where 地区代码 in ("北京","上海","广州");

2)列出销售地区在“北京”、“上海”和“广州”以外的所有代理商资料

select from 代理商 where 地区代码 not in ("北京","上海","广州");

3) 列出语文考试成绩高于85分的学生资料

select from 学生 where sid in (select sid from 成绩 where 分数>85 and 课程="语文");

注意:值列表如果为子查询的话,那么子查询的输出字段只能为一个,否则将会报错。

一、范围不同

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()看作多个OR的同义词,因为它们在逻辑上是相等的。MYSQL不是这样的,它会对IN()里面的数据进行排序,然后用二分法查找个是否在列表中,这个算法的效率是O(Logn),而等同的OR子句的查找效率是O(n)。在列表很大的时候,OR子句就会变得慢得多。

以上就是关于Sql Server 中 in 和 between 的用法..全部的内容,包括:Sql Server 中 in 和 between 的用法..、在ACCESS中如何使用IN /NOT IN,如果没有,有没有变通的方法、请问oracle中=与in有什么区别,求大神等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9292837.html

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

发表评论

登录后才能评论

评论列表(0条)

保存