首页 > 其他分享 >lightdb 支持从父查询中返回子查询表中的 rowid

lightdb 支持从父查询中返回子查询表中的 rowid

时间:2024-04-11 16:33:52浏览次数:24  
标签:lightdb -- t1 rowid 查询 select

背景

在如下的 sql 中,

select rowid from (select 1 from t);

lightdb 24.1 以前会直接报错,说找不到 rowid 列。为了兼容 Oracle, 在 24.1 中,我们选择将告知子查询除了返回子查询应有的列之外,还需返回 rowid 列。

样例

以下样例 sql 说明了 lightdb 24.1 中支持的 rowid 的功能:

-- rowid is passed down to table t1
select rowid from (select 1 from t1);
select rowid, a from (select a from t1);
-- rowid is passed down to table t1
select a.rowid from (select 1 from t1) a;
--= error, `a` could not be referenced from `public` schema as `a` is not a regular table
select public.a.rowid from (select 1 from t1) a;

--
-- multi-level subqueries
--
select rowid from (select 1 from (select 1 from t1));
select rowid from (select 1 from (select 1 from (select 1 from (select 1 from (select 1 from (t1))))));

-- lateral join
select t2.rowid from t2 cross join lateral (select t1.a from t1 where t1.rowid = t2.rowid) a;

-- rowid should not pass down to subquery
select t1.rowid from (select t1.a from t1, t2), t1;

标签:lightdb,--,t1,rowid,查询,select
From: https://www.cnblogs.com/lddcool/p/18129507

相关文章

  • 子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作
    行重复   删除掉一行即可deletefromrolewhereid=9goSETIDENTITY_INSERT[dbo].[role]ONGOINSERTINTO[dbo].[role]([id],[description],[role_key],[role_value])VALUES(N'9',N'这是超级管理员',N'ROLE_ADMIN',N'超级管理员')......
  • Elastic Search term, match, match_phrase 和 match_phrase_prefix 查询时的区别
    字段类型分keyword(不分词)和text(分词)字段值为"quickbrownfox",详细的createindex和insertdata语句在后边注意:keyword类型字段不分词,text类型字段keyword类型的字段值就是"quickbrownfox",不分词,必须当成一个整体text类型的字段值是"quickbrownfox",分词,可以当成......
  • 腾讯云服务器月租费用查询及2024年优惠购买入口全掌握
    在探索云服务市场时,许多用户都对腾讯云服务器的价格颇为关注。那么,腾讯云服务器一个月究竟需要多少钱呢?其实,这取决于您选择的服务器配置和购买方案。在腾讯云【爆品专区】,有多种服务器配置可选,价格亲民。例如,腾讯云轻量2核2G3M服务器,一年仅需61元,折合一个月仅5.08元。如果您需......
  • 为何申请贷款时需要查询大数据信用查询?又该如何查询自己的大数据信用报告呢?
    在这个数字化飞速发展的时代,大数据技术在金融行业的应用尤为显著。很多人可能会疑惑,为何申请贷款时总是需要进行大数据信用查询?又该如何查询自己的大数据信用报告呢?本文将为您详细解答这些问题。首先,我们来探讨一下贷款过程中大数据信用查询的几个重要原因:1.......
  • MySQL分组查询以及having筛选
    DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyint(......
  • mysql查询某条记录所在的行号
    有时候我们想知道某条记录在表中的多少行,这样我们就可以开始继续上一次的任务了。下面是SQL,可以直接执行,把表名改成自己真实的表名就好了,还得注意下子查询的排序,也得按自己真实需求来即可:SET@row_number=0;SELECTindex_positionFROM(SELECTauthor_id,@row_number:=@r......
  • mysql查询锁表和是否表锁
    #查询是否有锁表SHOWOPENTABLESFROM数据库WHEREin_use>0#查询被锁的表SELECT*FROMINFORMATION_SCHEMA.INNODB_LOCKS;#查询进程showprocesslist;#杀死进程killxx;#查看正在锁的事务select*frominformation_schema.INNODB_LOCKS;#杀死进程id(就是[se......
  • SQL SERVER 从入门到精通 第5版 第二篇 第8章 SQL数据高级查询 读书笔记
     第8章SQL数据高级查询 >.子查询与嵌套查询>.子查询概述:子查询是一个嵌套在SELECT,INSERT,UPDATE和DELETE语句或者其他子查询中的查询,任何允许使用表达式的地方都可以使用子查询.子查询语法规则如下:>.子查询的SELECT查询总使用圆括号......
  • 用postgresql做抽样查询
    9.5之前需要写函数,暂不考虑,下面以tablesample方法为主方式一:在数据量较小的情况下使用select*fromtb_defectorderbyrandom()limit100缺点是没办法再排序,而且是全表扫描,性能较差方式二:select*fromtb_defecttablesamplesystem(0.01);system抽样方式是随机抽取表......
  • postgresql中查询COMMENT注释的语句
    tb_car表中DDL语句中有COMMENTCOMMENTONCOLUMNpublic.tb_car.car_idIS'主键';COMMENTONCOLUMNpublic.tb_car.car_index_codeIS'车辆编码';COMMENTONCOLUMNpublic.tb_car.plate_noIS'车牌号码';用如下语句查询SELECTcol.table_name,col.column_na......