“某些”功能是通用SQL的一部分吗?

时间:2013-03-04 20:29:12

标签: sql function

我可以在Oracle,Potsgresql和Sql Server上使用“some()”函数。但它是一个通用的SQL函数还是某些扩展的一部分?

3 个答案:

答案 0 :(得分:4)

someANY的别名,它们都不是“函数”,而是条件(或运算符)。

它们与IN(和ALL)运算符有些相似,只是它们不在相关子查询的整个集合上运算,而只在“ some”上运算“(或”任何)行。

这是PostgreSQL手册中的相关部分:
http://www.postgresql.org/docs/current/static/functions-comparisons.html#AEN18025

以下是Oracle手册的相关部分:
http://docs.oracle.com/cd/E11882_01/server.112/e26088/conditions002.htm#CJAGAABC

这是SQL Server手册的相关部分:
http://msdn.microsoft.com/en-us/library/ms175064%28v=sql.90%29.aspx

(部分)引用ANSI SQL 2006标准:

<quantified comparison predicate>

<quantified comparison predicate> ::=
   <row value predicand> <quantified comparison predicate part 2>

<quantified comparison predicate part 2> ::=
   <comp op> <quantifier> <table subquery>

<quantifier> ::=
  <all>
  | <some>

<all> ::=
   ALL

<some> ::=
  SOME
  | ANY

答案 1 :(得分:1)

使用运算符SOME()和ANY()的查询在MySQL中运行

答案 2 :(得分:1)

它是ISO / IEC 9075:1992的一部分,也称为ANSI SQL 92标准。参见“8.7&lt;量化比较谓词&gt;”在sql-1992 document