データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セットを 1 つにマージしますが、使用方法と効率の点で 2 つは異なります。 MySQL の UNION UNION はテーブルをリンクした後に重複レコードを除外します。そのため、テーブルがリンクされた後、結果セットがソートされ、重複レコードが削除されてから結果が返されます。実際には、ほとんどのアプリケーションでは重複レコードは生成されません。最も一般的なのは、プロセス テーブルと履歴テーブルの UNION です。のように: gc_dfys から * を選択 ls_jg_dfys から * を選択 この SQL を実行すると、まず 2 つのテーブルの結果が取得され、次にソート スペースを使用して重複レコードがソートおよび削除され、最後に結果セットが返されます。テーブル内のデータ量が多い場合は、ディスク ソートが行われる場合があります。 MySQL の UNION ALL UNION ALL は、2 つの結果を単純に結合して返します。この方法では、返された 2 つの結果セットに重複データがある場合、返された結果セットには重複データが含まれます。 効率の面では、UNION ALL は UNION よりもはるかに高速なので、2 つのマージされた結果セットに重複データが含まれていないことを確認できる場合は、次のように UNION ALL を使用します。 gc_dfys から * を選択 すべて ls_jg_dfys から * を選択 UNION を使用すると、結果セット全体に DISTINCT を使用した場合と同様に、返されるすべての行が一意になります。 Union all を使用すると、重複を削除せずにすべての行が返されます。 ORDER BY 句または LIMIT 句を使用して UNION 結果全体を並べ替えたり制限したりする場合は、個々の SELECT ステートメントを括弧で囲み、最後のステートメントの後に ORDER BY 句または LIMIT 句を配置する必要があります。 (a=10 かつ B=1 の場合、tbl_name から a を選択) 連合 (a=11 かつ B=2 の場合、tbl_name から a を選択) 制限10で注文します。 これを行うのは少し面倒です: (からユーザーIDを選択 testa からユーザー ID を選択 union all testb からユーザー ID を選択 t ユーザーID制限0,1で並べ替え。 それでもグループ化して条件を設定する場合は、次のようにします。 select userid from (select userid from testa union all select userid from testb) t group by userid having count(userid) = 2; 注意: ユニオン括弧の後にエイリアスが必要です。そうでない場合はエラーが報告されます。 もちろん、複数の結合テーブルのデータ量が大きい場合は、まずテキストをエクスポートしてからスクリプトで実行することをお勧めします。 純粋な SQL が使用されるため、効率は比較的低く、一時ファイルが書き込まれます。ディスク容量が十分でない場合は、エラーが発生する可能性があります。 ファイル '/tmp/MYLsivgK' の書き込みエラー (エラーコード: 28) 要約する 以上が MySQL の union と union のすべてについての紹介です。お役に立てれば幸いです。ご質問があれば、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: CocosCreator で物理エンジン ジョイントを使用する方法
>>: Centos7.4 環境に lamp-php7.0 をインストールするチュートリアル
序文Linux 運用保守エンジニアとして、日々の業務の中で Linux サーバーの CPU 負荷が ...
序文この記事では、主にWeb開発のためのクロスドメインソリューションを紹介し、参考と学習のために共有...
SMIL は、Web にタイミングとメディアの同期のサポートを追加します。 SMIL は、Web に...
別のツリー構造があるJavascriptオブジェクトでは、このツリーが本物であると伝えるだけでよいD...
目次ヴィテ建てる構成vite.config.tsルーターtsタイプvue3 の知識設定小道具コンテク...
1.VirtualBoxソフトウェアをダウンロードしてインストールするまず、VirtualBox の...
tcpdump は、ネットワークの問題のトラブルシューティングに効果的に役立つ、柔軟で強力なパケット...
序文Zabbix は最も主流のオープンソース監視ソリューションの 1 つです。導入自体は難しくありま...
1. Navicatの紹介1. Navicat とは何ですか? Navicat は強力な MySQ...
これまでのプロジェクトはすべて Windows システム環境にデプロイされていました。今回は Lin...
HTML スタイル タグスタイルタグ - ドキュメント内でスタイルを宣言するときにこのタグを使用しま...
インターネット技術の発展に伴い、ユーザーはますます Web ページに依存するようになり、Web フロ...
方法1: SET PASSWORDコマンドを使用する mysql> username@loca...
目次1. データベースプログラミングの基本条件2. Java でのデータベースプログラミング: JD...
プロジェクトを作成するWeChat開発者ツールでプロジェクトを作成し、言語でTypeScriptを選...