序文 最近、X 省のコールド チェーン トレーサビリティ システムの開発で忙しくしています。毎日午後 11 時まで働いて帰宅します。週末も残業しています。ブログを書く時間はあまりありません。時間ができたら書きます。 ビジネス:ウェアハウスに出入りするデータをカウントする SQL ステートメント。 質問: X エンドの受信注文のみがカウントされます。 理由: X 側データベースでは、受信注文にのみフィールド a データがあり、送信注文にはフィールド a がなく、フィールド a が内部結合に使用されていたため、統計操作では受信注文しか見つけられなかったことが判明しませんでした。注: 倉庫の入庫注文と出庫注文は同じテーブルにあります。統計データを収集する場合、一部のデータはフィールドを使用して他のテーブルと関連付ける必要があります。 解決策:左結合を使用します。 私はいつも、左結合と内部結合をいつ使用できるのか疑問に思っていましたが、今回は教訓を得ました。 それらの違いについては、次の記事をお読みください。 内部結合と左結合の違い ここに小さなコピーがあります: 内部結合と左結合の違いは理解しているつもりでしたが、今日フロントエンドからパラメータを取得したときに、結果が期待したものと異なることがわかり、問題は内部結合にあることに気付きました。 要件は、データベースからデータをクエリし、それをフロントエンドに棒グラフの形式で表示することです。見つかったデータは業界別にグループ化されており、各業界の世帯数と世帯の割合が表示されます。関連するフィールドは、テーブル A のユーザー数と合計ユーザー数、およびテーブル B の業界名です。本来であれば、データが見つかるかどうかに関わらず、X軸に業種名が表示されるはずですが、X軸にもY軸にもデータが表示されません。問題は、間違った接続方法を使用していたことです。 1. SQLにおける左結合、右結合、内部結合の違い 左結合は、左のテーブル内のすべてのレコードと、結合フィールドが等しい右のテーブルのレコードを返します。 右結合は、右側のテーブル内のすべてのレコードと、左側のテーブルで結合フィールドが等しいレコードを返します。 内部結合(等値結合)は、2つのテーブルの結合フィールドが等しい行のみを返します。 以下にいくつか例を挙げます。 表 A には次の内容が記録されています。
表 B には次の内容が記録されています。
1.左結合 SQL ステートメントは次のとおりです。 Aから*を選択 左結合B A.aID = B.bIDの場合 結果は次のとおりです。
結果: 左結合はテーブル A のレコードに基づいています。A は左テーブル、B は右テーブルと見なすことができます。左結合は左テーブルに基づいています。 つまり、左側のテーブル (A) のすべてのレコードが表示され、右側のテーブル (B) には検索条件を満たすレコードのみが表示されます (この例では、A.aID = B.bID)。 テーブル B に十分なレコードがない箇所はすべて NULL です。 要約する これで、MySQL の左結合と内部結合に関するこの記事は終了です。MySQL の左結合と内部結合の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTML テーブルタグチュートリアル (45): テーブル本体タグ
>>: ローカル yum ソースの設定、国内 yum ソースの設定、epel ソースの設定を行う Linux の手順
開発環境ウィンドウ開発ツール Visual Studio Codeノードのインストールとnpm Wi...
ビジネスシナリオの要件と実装ロジックの分析ビジネスでは、HTTP GET を使用してデータを要求する...
必要とする本文の下のdivは垂直方向に中央揃えになっていますdiv 内のテキストを垂直中央に配置する...
以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<!DO...
目次DOMノード要素ノード:テキストノード:プロパティ ノード:要素を取得getElementByI...
名前を格納するフィールドが GBK 文字セットを使用している場合、GBK 内部コード自体がエンコード...
目次1. はじめに2. まずLinux環境を紹介しましょう3. TIME_WAIT状態遷移図4. 継...
前回の記事では、docker サービスをインストールしました。引き続き、Web プロジェクトのデプロ...
この記事では、簡単な虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な内...
序文トップメニューを作成する場合、ポップアップのセカンダリメニューを作成する必要があります。 以前の...
マウスイベントマウスが特定の操作を実行すると、イベント オブジェクトが生成され、イベントがトリガーさ...
1 ダウンロードアドレスは https://dev.mysql.com/downloads/mysq...
序文この記事は、私が最近仕事で遭遇した問題を記録したものです。アプリネイティブとフロントエンドのh5...
目次DOM処理配列方法要約するDOM処理DOM はドキュメントの構造化された表現を提供し、スクリプト...
目次1. 事前準備1.1 Node.jsをインストールする1.2 webpackをインストールする1...