2011-07-14 8 views
-1

mySQLデータベース内の複数のテーブルからデータを取得するときに、どのような方法を使用するのが最適ですか、結合、結合または表示?それぞれのメリットとデメリットはどのようなものですか?複数のテーブルからデータをまとめる

+0

正解はありません。それはあなたが持っているデータとそれを使って何をしようとしているのかによって異なります。 –

+0

ビューはJOINおよび/またはUNIONのいずれかを使用でき、述部プッシュが発生しない場合は、直接テーブルに対して実行する可能性が低くなります。しかし、私はJoelに同意します。この質問は広すぎるので、特定のデータベースを対象にしてください。 –

答えて

0

これは本当にこのデータをどのように表示するかによって異なります。

ジョインは、関連するデータを選択して同じ行に表示する場合に使用します.Unionは、2つの異なるselect文のデータをまとめてアペンドするために使用されます。

非常に複雑なクエリがあり、データを選択するために必要なSELECT文を簡素化したい場合は、ビューを使用する必要があります。 select文を何度も繰り返し使用する場合、混乱を避けることができます。ビューを使用する理由は他にもたくさんありますが、私はこれらの質問に直面しているとは思いません。

+0

ありがとうございました –

0

@ jworrinが言った。

SQLはすべてセット操作に関するものです。

    A inner join B
  • 設定交点である:∪ B

  • A left join Bが複合体である:(∉(∩ B

  • A union Bはよく...ユニオンセット...です∩B))∪(A ∩B)

  • right joinは左結合と同じです。テーブル/セットの位置を入れ替えるだけの統語的な砂糖。 B right join AA left join Bと同じです。

  • A full join Bも複合体である:(∉(∩ B))∪(∩ B)∪(B ∉(∩ B))

    あなたはに完全に依存して使用

問題。

viewは本質的に不変の缶詰めのselect文です。これにより、正規化されたデータベースの非正規化されたフラットビューなど、「仮想テーブル」を表示できます。ビューは、列や表へのアクセスを制限するなどの目的にも役立ちます。

関連する問題