3

データベース システムの自然結合の要点を理解するのに問題があります。定義によると、自然結合は、同じ名前の列の同じ値を持つ 2 つのテーブルの組み合わせを選択します。

私の問題は、同じ名前の列に 2 つの異なる値がある場合はどうなるかということです。それらはドロップされますが、ドロップされたタプルからの情報が必要な場合はどうすればよいでしょうか?

誰かが例を使ってこれを説明してもらえますか?

4

1 に答える 1

2

値は一意である必要はなく、タプルを「ドロップ」するべきではありません。

自然な結合は、怠惰で信頼できる悪いプログラマ向けです。

  • 怠け者: 結合条件を入力するのに煩わされることはありません
  • 信頼: 同じ名前の列が両方のテーブルに追加されたときに、クエリが突然壊れないことを願っています
  • 悪い: 良いプログラミングの本質は明快さです。自然結合を使用すると、結合がどのように行われているかがわかりにくくなるため、クエリの読者はテーブル定義をチェックして、何が起こっているかを把握する必要があります。

自然な結合を使用する私見はひどい考えであり、決して使用しないでください。あなたは実質的に何も得ず(おそらく十数文字の入力を節約します)、多くを失います.

編集:

自然結合は、内部/外部の点で他の結合と同様です。デフォルトは内部結合ですが、mysql などで左結合または右結合も指定できます。

select ...
from t1
natural left join t2
于 2013-01-27T10:54:38.187 に答える