サブクエリの代わりにJOINを使用する MySQL はバージョン 4.1 以降で SQL サブクエリをサポートしています。この手法では、SELECT ステートメントを使用して単一列のクエリ結果を作成し、その結果を別のクエリのフィルター条件として使用します。たとえば、顧客基本情報テーブルに注文がない顧客を削除する場合は、次に示すように、サブクエリを使用して、まず販売情報テーブルから注文したすべての顧客の顧客 ID を取得し、その結果をメインクエリに渡すことができます。 顧客情報から削除 WHERE CustomerID が含まれない (SELECT CustomerID FROM salesinfo) サブクエリを使用すると、論理的には複数のステップを一度に完了する必要がある多くの SQL 操作を一度に完了できるだけでなく、トランザクションまたはテーブル ロックを回避でき、記述も簡単になります。ただし、場合によっては、サブクエリをより効率的な JOIN に置き換えることができます。たとえば、注文記録がないすべてのユーザーを取得したい場合、次のクエリを使用して完了できます。 顧客情報から*を選択 WHERE CustomerID が含まれない (SELECT CustomerID FROM salesinfo) このクエリを完了するために JOIN を使用すると、速度が大幅に向上します。特に、salesinfo テーブルの CustomerID にインデックスがある場合は、パフォーマンスが向上します。クエリは次のようになります。 顧客情報から*を選択 LEFT JOIN salesinfoON customerinfo.CustomerID=salesinfo。 顧客ID salesinfo.CustomerID が NULL の場合 JOIN.. は、MySQL がこの論理的な 2 段階のクエリを完了するためにメモリ内に一時テーブルを作成する必要がないため、より効率的です。 要約する サブクエリの代わりに結合を使用した MySQL の最適化に関するこの記事はこれで終わりです。参考用です。不備があれば指摘してください。誰でも意見を交換したり議論したりすることができます。このサイトをサポートしてくださった友人の皆さんに感謝します。 以下もご興味があるかもしれません:
|
>>: Linux の chown コマンドと chmod コマンドの違いの詳細な説明
1. 矢印関数1. 矢印関数自体はこれをバインドしないという事実を利用します。 2. render(...
VMware Workstation は、開発、テスト、デモンストレーション、展開のために仮想マシン...
Nginx は複数のサーバーをリバース プロキシします。つまり、nginx に異なるリクエストを送信...
実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...
目次1. CSS のみを使用して作成したアニメーションのクリスマスツリー2. CSS のみを使用して...
私はApacheを使ったことがありません。仕事を始めてからはずっとnginxを使っていました(運用保...
機能: 前のページまたは次のページにジャンプします。要素: ページングの基本要素は、前のページ + ...
この記事では、MySQL ユーザー管理操作について説明します。ご参考までに、詳細は以下の通りです。こ...
目次概要1. メニューとルーティング処理2. メニューとルートリスト3. ログインプロセスの処理概要...
目次1. パッケージ化コマンドを追加する2. パッケージ化されたコードを実行する3. パッケージ化し...
目次序文: 1. Navicatの紹介2. シンプルなチュートリアルの共有接続管理ライブラリテーブル...
Text の height 属性が定義されている場合、Text に入力されたテキストは垂直方向に中央...
HTML、CSS、JSフロントエンドを学習中の皆さん、今回はショッピングモールの事例の実装をシェアし...
参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...
<br />原文: http://andymao.com/andy/post/103.h...