join
coreutilsの内容はSQLの同等結合を思い出させます。
join
同じ結合フィールドを持つ各入力行のペアを標準出力に書き込みます。
join
coreutileマニュアルが何をしているのかわかりません。join
SQLの同等組(equijoin)や関係代数学の演算が何を意味するのか説明してもらえますか?
どのフィールドに同じ値が必要ですか?
これらのequijoinの違いは何ですかjoin
?
ありがとうございます。
ベストアンサー1
既定では、join
ユーティリティはSQLで「内部結合」と呼ばれる操作を実行して、同じ結合フィールドを持つ2つのファイル内の項目の結合レコードを生成します。はい、これは等価性を使用してフィールド間をテストするため、「等価結合」です。
ユーティリティjoin
は、内部結合(デフォルト)だけでなく、左、右、および外部結合(それぞれ-a1
、-a2
および、使用-a1 -a2
)も実行できます。これらの結合はすべて比較にjoin
等価が使用されるため、「同等結合」です。
デフォルトでは、結合フィールドは各ファイルでスペースで区切られた最初のフィールドですが、これはコマンドラインオプションを-1
使用-2
して変更できます(それぞれ最初と2番目のファイルで結合フィールドを選択)、区切り文字を別のフィールドに変更できます。単一文字が使用されました-t
。
デフォルトの動作はjoin
次のようになります。
SELECT * FROM table1 JOIN table2 ON (table1.firstfield = table2.firstfield);
ちょうど結合フィールドのコピーを1つだけ得ることができるということです(firstfield
ここ)。