0

内部結合、完全外部結合、左 (外部) 結合、右 (外部) 結合、交差結合の定義を知っています。しかし、いつこれらを使用する必要がありますか? 誰か例を挙げることができますか?

彼らがクラスで慣れているとは言わないでください.. ; )

ありがとう!

4

1 に答える 1

4

参照: http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

ほとんどの結合は、さまざまなデータ セットを管理するだけです。

  • 内部結合は、両方のセットで一致するデータが必要な場合です
  • 完全外部結合は、一致するかどうかに関係なく、両方のセットからすべてのデータが必要な場合です
  • 左結合は、1 つのセットからのすべてのデータであり、他のセットからの一致するデータのみです。
  • 右結合 (左結合と同じですが、テーブルのすべての日付を右結合の右側に含め、左側で一致するデータのみを含めることを意味します。
  • クロス結合は、完全なデカルト積を生成する両方のセットのすべてのデータに関連するすべてのデータです

したがって、それらをいつ使用するかは、必要なデータによって異なります。

クロス結合を使用するのはいつですか? カラーテーブルとサイズテーブルがあり、「シャツ」のすべてのサイズのすべての色を販売したいとします。色とサイズをクロス結合すると、すべてのシャツのすべての色のすべてのサイズが得られます。これを使用して、すべての組み合わせを一覧表示できます。

内側の結合は、青のすべてのシャツを表示したいので、色が青である色にシャツを結合します. これにより、他のすべてのシャツが削除されます。

左の結合は、さまざまな色とサイズのシャツを販売している可能性があります. XXL 赤のシャツはまだ販売していない可能性があります。しかし、それでも結果に表示したいので、赤い XXL シャツが確実に返品されるように、サイズの色のクロスを販売テーブルに結合したままにしました。そうしないと、内部結合として、販売がないため、その組み合わせが失われます。

右結合は左結合と同じで、テーブルが結合される ORDER を管理するだけです。

フルアウターは次のようになります。すべてのお客様と、シャツの製品を出荷したすべての州を確認したいです。しかし、顧客は私たちからズボンを購入しただけで、アラスカではまだシャツを販売していない可能性があります. したがって、完全な外部結合を使用すると、シャツを購入していない場合でもすべての顧客を表示でき、そこでシャツが販売されていない場合でもすべての州を表示できます。Inner は、左結合または右結合と同様にレコードを削除します。また、すべての州で売上があったわけではないため、クロス結合では正しくない結果が返されます。

于 2013-06-27T21:14:15.967 に答える