優先度
まず、2 つの概念を明確にします。
左結合の場合、2 つの違いは次のとおりです。
テスト 表1: 表1
表2: 表2
テーブル1 a から a.id、a.No、b.name を選択し、テーブル2 b を (a.No = b.No かつ b.name='aaa') で左結合します。 テーブル1 a から a.id、a.No、b.name を選択し、テーブル2 b を (a.No = b.No) で結合します。ここで、b.name は 'aaa' です。 最初の結果セット: |id |いいえ |名前| |---|---|---| |1 |n1 |aaa| |2 |n2 |(ヌル)| |3 |n3 |(ヌル)| 2番目の結果セット: |id |いいえ |名前| |---|---|---| |1 |n1 |aaa| 最初の SQL ステートメントの実行プロセスは、まずテーブル b で名前が aaa である行 (on (a.No = b.No and b.name='aaa') ) を検索します。次に、テーブル a のデータを検索し (テーブル b のルールを満たしていない場合でも)、一時テーブルを生成してユーザーに返します。 2 番目の SQL ステートメントの実行プロセスは次のとおりです。最初に一時テーブルが生成され、次に where ステートメントが実行されて、b.name='aaa' が true ではない結果セットがフィルター処理され、最後に結果がユーザーに返されます。 on は最初に条件を満たさない行を除外し、次に他の操作を実行するため、on が最も高速であることは当然です。 複数のテーブルをクエリする場合、on は where よりも先に有効になります。システムはまず、テーブル間の結合条件に基づいて複数のテーブルを一時テーブルに結合し、次に where を使用してフィルタリングしてから計算します。計算後、having を使用して再度フィルタリングします。このことから、フィルタリング条件が正しい役割を果たすためには、まず条件がいつ有効になるかを理解し、次に条件をどこに配置するかを決定する必要があることがわかります。 JOIN に関係するテーブルの関連付け操作では、接続条件を満たさない行がクエリ範囲内にある必要がある場合、接続条件を WHERE の後ではなく ON の後に置く必要があります。接続条件を WHERE の後に置くと、LEFT、RIGHT などの操作はすべて無効になります。この場合、その効果は INNER 接続とまったく同じです。行の選択に影響しない条件については、ON または WHERE の後に置くだけです。 注意: すべての接続条件は ON の後に配置する必要があります。そうしないと、以前の LEFT と RIGHT の関連付けはすべて装飾として使用され、効果がありません。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
>>: VMware15 centos7 ブリッジモード ssh に突然アクセスできなくなる問題を解決する
目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...
目次Linux - ファイル記述子、ファイルポインタ、インデックスノード1. Linux - ファイ...
目次1. 基本的な使い方2. 指示の動作原理2.1. 初期化2.2 テンプレートのコンパイル2.3....
目次01 Kubernetes とは何ですか? 02 KubernetesとCompost+Swar...
目次1. はじめに2. vue-simple-uploaderについて3. vue-simple-u...
上の境界線のみを表示する <table frame=above>下の境界線のみを表示する...
1. Vimの公式ウェブサイトにアクセスして、オペレーティングシステムに適した実行ファイルをダウンロ...
Vue コンポーネントをカプセル化する場合でも、機能コンポーネントをクロスファンクショナルに使用しま...
目次1: 単一マシンのパスワードフリーログイン構成1. 仮想マシンのホスト名を設定する2. 仮想マシ...
1. nginx はなぜ gzip を使用するのですか? 1. 圧縮の役割:ページがgzipで圧縮さ...
目次関数定義方法関数呼び出し(6種類)これは問題を指摘している厳密モード高階関数閉鎖再帰: 自分自身...
この記事では、Web ページのリンクを美しくするためによく使用される書き換えルールをいくつか紹介しま...
Ⅰ. 問題の説明: html+css を使用してシンプルなナビゲーション バーを実装します。 **...
nginx 設定ファイルは主に 4 つの部分に分かれています。 main{#(グローバル設定) ht...
MySQL のインストールは比較的簡単なので、通常は次のステップに直接進み、注意が必要な点に集中する...