首先,这个项目对我来说就像是好奇。
我正在为实用程序库编写一些代码,并添加了用于运行各种SQL连接语句的方法。一切都很好,但是在某个时候,我遇到UNION JOIN了SQL-92规范(第179页)中包含的晦涩的子句。
我不知道它有多有用(我从未使用过),并且仅在HyperSQL中实现(AFAIK)。
作为记录,这是它的工作方式。如果我们有两个表T和U,且具有任意数量的列/行:
====== T ===== === U ===
a b c d e
---- ---- ---- ---- ----
1 2 3 10 11
4 5 6 12 13
Run Code Online (Sandbox Code Playgroud)
然后:
select * from T union join U
Run Code Online (Sandbox Code Playgroud)
产生(没有特定的行顺序):
a b c d e
---- ---- ---- ---- ----
1 2 3 null null
4 5 6 null null
null null null 10 11
null null null 12 13
Run Code Online (Sandbox Code Playgroud)
无论如何,我想知道哪些数据库确实支持它,或者您是否曾经在野外看到它。
我当时也在考虑问它有什么好处,但是我不希望这个问题以“基于首要观点”结束。
以符号作为键的 KDB 字典的联合连接正在工作,但当键更改为 long 类型时;字典连接不起作用?
Q码
k1:`1`2`3
v1: 1 2 3
k2:`2`3`4
v2:2 3 4
//works
(enlist k1!v1) uj (enlist k2!v2)
k1:1 2 3
v1:1 2 3
k2:2 3 4
v2:2 3 4
//not working
(enlist k1!v1) uj (enlist k2!v2)
why key list type change is not acceptable?
Run Code Online (Sandbox Code Playgroud)