database - 查询KDB中的多个表

标签 database kdb

我想查询 KDB 中的多个表。对于前。如何在KDB中写如下SQL查询(我不擅长SQL,所以查询格式可能有误):

select from table1,table2 where table1.sym=table2.sym and table1.price>table2.price

我知道一些方法,例如。加入。但是 KDB 中是否有任何与 SQL 相同的功能,只需在表上使用点符号即可。

同样在 SQL 中,我们可以将上述查询扩展到“n”个表和过滤器。我们可以在不使用复杂表达式的情况下在 KDB 中做到这一点吗?

最佳答案

简短的回答是不,我害怕。

您一次只能查询 1 个表。您必须先进行连接。我不太了解 SQL,但我确定 SQL 引擎无论如何都在后台执行连接操作以便能够执行此操作(?)所以如果有办法在 q 通过一个函数,它将进行连接。

如果你想提取列向量,你可以像这样索引到一个表中(避免函数内部的点符号):

table[`sym]

(假设表没有键控,会将 sym 列作为向量获取) (注意在张开的 table 上这样做时要小心!)

例如,您可以将它用于 where 子句中的 in 查询。或者,如果您的表的长度完全相同,您可以使用它来创建一个新的临时临时表(但这仍然是一种连接!)

在不使用常用的 ljuj 等的情况下,这已经很接近了

关于database - 查询KDB中的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25601415/

相关文章:

mysql - mysql 数据库错误过程

mysql - MySQL中如何插入含有较多特殊字符的记录?

mysql - SQL - 更新列条目的更快方法

android - 如何在不复制的情况下从 Assets 中的数据库中读取数据

kdb - q/kdb+ Windows 服务器设置

database - KDB 中插入和更新插入的行为

kdb - 如何在 kdb+ 中设置某个范围内的随机数?

mysql - SQL 查询只显示特定用户的最新消息?

kdb - 如何从表格中获取按符号计算的 KDB+ 累积加权平均价格,同时考虑到所有以前的记录?

kdb - 在 KDB 中复制表列