首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL命令 FROM(二)

FROM子句中的表值函数 表值函数是一个类查询,它被投影为一个存储过程,并返回单个结果集。 表值函数是任何具有SqlProc TRUE的类查询。...在下面的示例中,类查询Sample.Person.ByName被投影为一个存储过程,因此可以用作表值函数: SELECT Name,DOB FROM Sample.SP_Sample_By_Name('...,"End of B data" } 表值函数只能在SELECT语句或DECLARE语句的FROM子句中使用。表值函数名可以用模式名限定,也可以用非限定名(没有模式名)限定;非限定名使用默认模式。...表值函数不能直接用于INSERT、UPDATE或DELETE语句。但是,可以为这些命令指定子查询,以指定表值函数。...SQL没有为表值函数定义EXTENTSIZE,也没有为表值函数列定义SELECTIVITY。 FROM子句中的子查询 可以在FROM子句中指定子查询。 这称为流子查询。

1.7K40

SQL命令 ORDER BY(一)

如果SELECT语句指定了ORDER BY和TOP子句,则作为“TOP”行的返回的记录将与ORDER BY子句中指定的顺序一致。 为例。...不能在ORDER BY子句中直接指定聚合函数; 尝试这样做会产生SQLCODE -73错误。 可以在ORDER BY子句中根据列别名或列号指定任何选择项,包括聚合函数、窗口函数或表达式。...下面的示例以与前一个示例相同的顺序返回相同的记录: SELECT Name,DOB FROM Sample.Person ORDER BY Home_State,Name 如果order -item不是指定表中现有的列名...ORDER BY子句可以指定表名或表别名作为ordering-item的一部分: SELECT P.Name AS People,E.Name As Employees FROM Sample.Person...它们不指向表本身中列的位置。 但是,可以按列号对SELECT *结果进行排序; 如果RowID是公共的,它就被计算为第1列,如果RowID是隐藏的,它就不被计算为第1列。

2.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL命令 SELECT(三)

    列别名在结果集中显示为列标题。指定列别名是可选的;始终提供默认值。列别名以指定的字母大小写显示;但是,当在ORDER BY子句中引用时,它不区分大小写。C别名必须是有效的标识符。...列别名与所有SQL标识符一样,不区分大小写。 其他SELECT子句中列别名的使用由查询语义处理顺序控制。 可以通过ORDER by子句中的列别名引用列。...不能在选择列表中的另一个选择项、DISTINCT BY子句、WHERE子句、GROUP BY子句或HAVING子句中引用列别名。 不能在JOIN操作的ON子句或USING子句中引用列别名。...子句 FROM table-ref子句指定一个或多个表、视图、表值函数或子查询。...查询不需要知道FROM子句中指定的表是分片的还是非分片的。 同一个查询可以访问分片表和非分片表。 查询可以包括分片表和非分片表之间的连接。 分片表使用CREATE table命令定义。

    2.2K10

    mysql嵌套子查询的应用

    还可以用于insert、update、delete语句或其他子查询中。 子查询的组成 包含标准选择列表组件的标准select查询 包含一个或多个表或者视图名称的标准from子句。...子查询的语法规则 子查询的select查询总是使用圆括号括起来 不能包括compute或for.browse子句。 如果同时指定top子句,则可能只包括order by子句。...如果某个表只出现在子查询中而不出现在外部查询中,那么该表的列就无法包含在输出中。...子查询简单示例 下面示例以四个表为查询结果 SELECT a.id, a.title, b.content c.viewCount FROM post AS a,...( SELECT * FROM Person WHERE Person_Id = 100 --如果不存在Person_Id的记录,则子查询没有结果集返回,主语句不执行 )

    4.2K20

    SQL定义和使用视图

    无法在通过ODBC或JDBC网关连接链接的Informix表中存储的数据上创建视图。这是因为InterSystems IRIS查询转换对这种类型的查询使用FROM子句中的子查询。...有两种类型的WITH CHECK选项: WITH LOCAL CHECK选项意味着只检查INSERT或UPDATE语句中指定的视图的WHERE子句。...如果在INSERT或UPDATE语句中指定了%NOCHECK选项,则不检查WITH CHECK选项的有效性。...SQLCODE -137-视图的WITH CHECK OPTION验证在UPDATE中失败。只读视图只读视图是不能在其上执行INSERT,UPDATE和DELETE操作的视图。...为了节省第一行优化和有限排序优化的时间,可以将FROM子句子查询与TOP和%VID结合使用。在FROM子查询中指定上限(在本例中为10)作为TOP的值,而不是使用TOP ALL。

    1.8K10

    HQL语句大全

    关键字as 是可选的,我们也可以这样写: from Cat cat子句中可以同时出现多个类, 其查询结果是产生一个笛卡儿积或产生跨表的连接。...Hibernate 可以在from子句中指定任何 Java 类或接口. 查询会返回继承了该类的所有持久化子类 的实例或返回声明了该接口的所有持久化类的实例。...一个被索引过的(有序的)集合的元素(arrays, lists, maps)可以在其他索引中被引用(只能在where子句中): from Order order where order.items[0...as msg group by usr.id, usr.name order by count(msg)如果你的数据库支持子选择,你可以在你的查询的where子句中为选择的大小(selection size...)指定一个条件: from User usr where size(usr.messages) >= 1如果你的数据库不支持子选择语句,使用下面的查询: select usr.id, usr.name

    2.6K50

    SQL谓词的概述(一)

    在JOIN操作的ON子句中确定哪些行与连接操作相关。 在UPDATE或DELETE语句的WHERE子句中,确定要修改哪些行。 WHERE CURRENT OF语句的AND子句中。...EXISTS (subquery) - 使用子查询测试指定表是否存在一行或多行。 BETWEEN x AND y - BETWEEN条件同时使用>=和子字符串的文字字符或包含已知序列中的多个已知子字符串的数据值时,请使用LIKE。LIKE使用其目标的排序规则进行字母大小写比较。...下面的例子是等价的: ClassMethod Predicates() { s q1 = "SELECT Name,Home_State FROM Sample.Person " s q2...WHERE FOR SOME %ELEMENT(t1.FavoriteColors) (%VALUE='purple') OR t2.Age < 65 因为这个限制取决于优化器如何使用索引,所以SQL只能在向表添加索引时强制执行这个限制

    1.2K20

    SQL 嵌套查询 —比较 很有用「建议收藏」

    还可以用于insert、update、delete语句或其他子查询中。 一、子查询的组成   1、包含标准选择列表组件的标准select查询。   ...5、任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个值。   6、如果某个表只出现在子查询中二不出现在外部查询中,那么该表的列就无法包含在输出中。...= '孙权' )    输出结果为: 四、in嵌套查询    in关键字用于where子句中用来判断查询的表达式是否在多个值的列表中。...子查询) 示例: select name from person where countryid > all   --当countryid大于以下返回的所有id,此结果才为True,此结果才返回...exists ( SELECT * FROM Person WHERE Person_Id = 100 --如果不存在Person_Id的记录,则子查询没有结果集返回,主语句不执行

    74830

    SQL命令 HAVING(一)

    不能按列别名指定字段或聚合函数;尝试这样做会生成SQLCODE-29错误。但是,可以使用子查询定义列别名,然后在HAVING子句中使用该别名。...聚合函数值是根据表中的所有行计算的: SELECT AVG(Age) FROM Sample.Person HAVING %ID<10 这与带有聚合函数的WHERE子句相反,后者返回一行。...这个字段引用可以是FROM子句中指定的任何表中的任何字段、使用隐式连接(箭头语法)引用的字段、%ID别名或星号(*)。 HAVING子句条件必须应用至少一个非聚合条件。...它还使用子查询返回表中所有行的平均年龄: SELECT Home_State,(SELECT AVG(Age) FROM Sample.Person) AS AvgAgeAllRecs,...此谓词只能在WHERE子句中使用。 谓词区分大小写 谓词使用为字段定义的排序规则类型。默认情况下,字符串数据类型字段使用SQLUPPER排序规则定义,该排序规则不区分大小写。

    1.5K40

    SQL命令 WHERE(二)

    EXISTS 谓词 它使用子查询来测试子查询是否计算为空集。...该谓词的语法如下: FOR SOME (table [AS t-alias]) (fieldcondition) FOR SOME指定字段condition的值必须为true; 至少有一个字段值必须匹配指定的条件...Table可以是单个表,也可以是逗号分隔的表列表,每个表可以有一个表别名。 Fieldcondition为指定表中的一个或多个字段指定一个或多个条件。...当希望返回包含已知字面值子字符串的数据值,或在已知序列中包含多个已知子字符串时,请使用LIKE。 LIKE使用目标的排序规则进行字母大小写比较。...WHERE FOR SOME %ELEMENT(t1.FavoriteColors) (%VALUE='purple') OR t2.Age < 65 因为这个限制取决于优化器如何使用索引,所以SQL只能在向表添加索引时强制执行这个限制

    1.2K10

    SQL命令 FROM(一)

    可以指定一个用括号括起来的子查询。 AS t-alias - 可选—表名的别名。 必须是有效的标识符。 描述 FROM子句指定在SELECT语句中查询数据的一个或多个表(或视图或子查询)。...在SELECT语句中为多个表指定字段名时使用表名别名。 如果FROM子句中指定了两个(或更多)表,可以通过指定tablename来指明需要哪个表的字段。...为避免这种情况,建议在与外部联接一起使用%INORDER时,仅与ANSI样式的左外部联接或完全外部联接一起使用。 视图和表子查询按照它们在FROM子句中指定的顺序进行处理。...%NOMERGE 此可选关键字在子查询的FROM子句中指定。它指定编译器优化器应该禁止子查询到视图的转换。...%NOREDUCE 此可选关键字在流式子查询的FROM子句中指定-返回行的结果集的子查询,即封闭查询的FROM子句中的子查询。它指定编译器优化器应该禁止将子查询(或视图)合并到包含查询中。

    2.1K40

    使用嵌入式SQL(三)

    时间戳记值将除去尾随空格,以小数秒为单位的尾随零和(如果没有小数秒的话)尾随的小数点。当SQLCODE = 0时,即返回有效行时,将设置INTO子句中指定的输出主机变量。...如果执行SELECT语句或FETCH语句导致SQLCODE = 100(没有数据与查询匹配),则INTO子句中指定的输出主机变量将设置为null(“”)。...用列号下标的主机变量如果FROM子句包含一个表,则可以为从该表中选择的字段指定带下标的主机变量;否则,可以为该表指定一个下标主机变量。例如,本地数组:myvar()。...主机变量下标数组可以用于INSERT,UPDATE或INSERT OR UPDATE语句VALUES子句中的输入。...这是因为在许多表(例如Sample.Person)中,可能存在隐藏的列。这些导致列号序列不连续。

    3K10

    SQL命令 JOIN(一)

    除非另有说明,否则所有连接语法都在FROM子句中指定。 交叉连接是将第一个表的每一行与第二个表的每一行交叉的连接。 这将产生一个笛卡尔积,即一个具有大量数据重复的、逻辑上全面的大型表。...在指定单向外部连接时,在FROM子句中命名表的顺序非常重要。 对于LEFT OUTER JOIN,指定的第一个表是该连接的源表。...要执行此交叉连接,必须将链接表指定为子查询。 例如,FROM Sample。 Person,(SELECT * FROM Mylink.Person)。...ON子句只能引用ANSI关键字JOIN操作中显式指定的表。 在FROM子句中指定的其他表不能在ON子句中引用。 这将导致SQLCODE -23错误。...ON子句中引用的字段的排序规则类型应该与它在相应索引中的排序规则类型匹配。 排序规则类型不匹配可能导致索引不被使用。

    2.2K20
    领券