“join”对于 SQL 中的等值连接或关系代数中的运算有什么作用?

“join”对于 SQL 中的等值连接或关系代数中的运算有什么作用?

joincoreutils中的让我想起SQL中的equijoin。

join将具有相同连接字段的每对输入行写入标准输出。

我不太清楚joincoreutile 手册的作用。您能解释一下joinSQL 中的等值连接或关系代数中的运算是什么意思吗?

哪些字段需要具有相同的值?

和 等值连接之间有什么区别join

谢谢。

答案1

默认情况下,该join实用程序会执行 SQL 中所谓的“内部联接”,从而生成两个文件中联接字段相同的条目的组合记录。是的,这是一个“等连接”,因为它使用相等来进行字段之间的测试。

join实用程序可以执行内部连接(默认)以及左、右和外部连接(分别使用-a1-a2-a1 -a2)。所有这些连接都是“等连接”,join因为相等用于比较。

默认情况下,连接字段是每个文件中的第一个空格分隔的字段,但这可以使用-1-2命令行选项(分别用于选择第一个和第二个文件中的连接字段)进行更改,并且分隔符可以更改为另一个单个字符使用-t.

默认行为join类似于

SELECT * FROM table1 JOIN table2 ON (table1.firstfield = table2.firstfield);

只不过您只会获得连接字段的一份副本(firstfield此处)。

相关内容