結合と内部結合の違い

Anonim

結合と内部結合

この通信主導型の世界では、通信はすべてデータに関するものであるため、データを効率的に処理する必要があります送信。これを行うために、私たちは日々の目的のために私たちのデータを格納し検索するために、MS Access、SQL Server、Oracleなどのデータベースを持っています。あなたはデータベースを試したことがありますか? DBを扱うのは難しいことではありません - あなたもそれを試すことができます!必要なのは、データベースの内容を操作または取得するための構文だけです。 「Join」と「Inner Join」という構文を説明し、機能やパフォーマンスが異なるかどうかを確認しましょう。

<! - 1 - >

データベースで ' Join 'とは何ですか?

'Join'構文は、2つ以上のデータベースまたはデータベーステーブルから一致する列を取り出すことができます。データベースは常に表として視覚化され、列と行の形式でデータを保持する実際の個々の単位です。各テーブルは、各行ごとにユニークな識別子キーを使用して作成されます。私たちの操作はすべて、それらのキーに基づいています - あなたはさらに読むことによってそれらを使用する方法を学ぶことができます。相違点に移る前に、「結合」の一般的な構文を見てみましょう。

<!表2は、表1に示されている。表2は、表1に示されている。 Column_name

= 表2。 Column_name

上記の構文は、Table1とTable2のテーブルから、指定された列名のすべての一致する行を取得します。 Column_nameは両方のテーブルの識別子キーであり、上記のクエリはそれらを比較して一致する行を見つけることができます。

<! - > - > '

内部結合' は何をしますか? 'Inner Join'は、 'Join'構文と機能的に同じSQL構文です。上記のSQLクエリで 'Join'を 'Inner Join'に置き換えると、同じ結果が得られます!ショッキング、そう?それでは、なぜ同じ機能を実行するために2つの異なる構文があるのですか?これまでに、あなたのほとんどがおそらくこれを疑っています。あなたはさらに読むことによってなぜ学ぶことができます。 理解を深めるために、次の画像を見てください。 上記の図の中に「内部結合」があることに気付くことができます。「結合」の構文はありません。これは、両方の構文が同じであることを明示的に証明し、 '結合'を表すために追加の図を必要としません。

同じ関数に対して2つの異なる構文がある理由

他の「結合」タイプと混同しないようにするには:

「外部結合」、「左結合」、「右参加する '。これらの「結合」構文は機能によって大きく異なるため、適切な構文について具体的に説明する必要があります。なぜなら、 'join'と 'inner join'の両方が同じ関数を実行しているからといって、コード化するときに 'inner'という言葉を無視するかもしれません。時々、開発者が言及した「結合」のタイプに関して、同僚の開発者間であいまいさが生じることがあります。これは新しく開発した開発者にとって共通の問題です。初心者は「結合」ステートメントの作成に特有でなければなりません。したがって、他の「結合」タイプとの混同を避けるために、明確な「内部結合」文があると言うことができます。読者にはあいまいなものではなく明確な構文を使用することをお勧めします。 異なるデータベースで同様の構文を使用する場合: SQLクエリはいくつかのデータベースに限定されず、SQL Server、MS Access、Oracleなどのさまざまなデータベースで使用されます。MS Access DB、それは決して単純な「結合」を受け入れません!はい、「内部結合」、「外部結合」、「左結合」、「右結合」など、「結合」のタイプを指定すると、それを受け入れます。したがって、さまざまなデータベースで同じまたは類似の構文を使用する場合は、クエリに「結合」の代わりに「内部結合」を記述する必要があります。両方とも同じ仕事をしていますが、違いがあります。

おそらく、短い形式!

ほとんどの人は、「結合」と「内部結合」は同じではないと考えています。彼らの驚くべきことに、機能と性能は同じです。 SQLは 'join'を 'inner join'の短い形式として扱うと言うことができます。これは技術的に正しい記述ではありませんが、わかりやすいように記述することができます。ただし、「インナー・ジョイン」と入力するだけで、もう少しキーストロークを取ることができます。これは、前述の他の問題からあなたを救うことができます。

Join

  • 」または「

'Inner Join'

  • 」を使用するのがベストプラクティスですか?

「結合」のみを使用する予定のクエリで「内部結合」を使用することをお勧めします。前者は理にかなっているようです。さらに、プログラマーが使用しようとしている「結合」のタイプについてもあいまいさはありません。さらに、仲間のプログラマーは、文書化や理解のためにあなたの助けを必要としません。さて、次の表を見て、すべてを要約し、2つの構文がどのように異なるかを見てみましょう。 S。 結合

  • 1

構文

SELECT 列名 FROM 表1 表2 ON

表1 。 Column_name

=

表2。 Column_name

SELECT Column_names FROM 表1

INNER JOIN 表2

ON 表1。 Column_name

= 表2。 Column_name 2 開発者向け

「結合」ステートメントは、開発者がどのタイプの「結合」を参照しているかというあいまいさを引き起こします。 コード内で「内部結合」を使用すると、

3 MS Access DB

単純な 'join'ステートメントを受け入れる 'Inner join'ステートメントを受け入れる

4 Short これは短い形式と見なすことができ、さらに短縮することはできません '内部結合'は短縮することができます ' 5

'join'は 'Inner join'と同じ意味ですが、良い開発者はあいまいさを避けるために明確な構文を使用するべきです。 'Inner join'はパフォーマンスはもちろん、関数の 'join'と同等ですがより優れています。