導入 今日SQLを書いているときに、問題が発生しました。要件は、データを照会し、スコアと過去 1 週間の訪問回数の逆順に並べ替えることです。問題は、従来の書き方では、where 句に day >= xxx 条件を入れることです。一部のデータに過去 1 週間の訪問がない場合、このデータは見つかりません。解決策は、条件を LEFT JOIN に入れることです。 MySQL ステートメントの実行順序 まず最初に概念を説明します。MySQL ステートメントが実行される順序は、SQL ステートメントの順序ではありません。サンプルSQLはこちら 選択する < 選択リスト > から < 左テーブル > < 結合タイプ > JOIN < 右テーブル > ON < 結合条件 > どこ < 条件 > グループ化 < グループリスト > 持つ < 条件がある > 注文する < 順序条件 > LIMIT <制限数> SQLの実行順序は以下のとおりです。 <左テーブル> から ON <結合条件> <結合タイプ> JOIN <右テーブル> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> 選択 DISTINCT <選択リスト> ORDER BY <order_by_condition> LIMIT <制限数> LEFT JOINの役割 結果セットの違いはSQLの優先順位だけでなく、LEFT JOINにも関係しています。 左結合を使用する場合、on の後の条件は右側のテーブルに対してのみ有効です。
上記は、内容をうまくまとめた 2 つの資料からの抜粋です (元のリンクは下にあり、その中に例文があります)。 参考文献:
要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: Windows オペレーティング システムでの Linux 仮想マシンのインストールと構成のチュートリアル
>>: Vue Element-ui テーブルはツリー構造テーブルを実現します
${param}によって渡されるパラメータは、テーブル名やフィールド名を渡すなど、SQL文の一部と...
MySQLサービス8.0.14のインストール(一般)の参考までに、具体的な内容は次のとおりです。イ...
序文:プロジェクト開発では、一部のビジネス テーブル フィールドで日付と時刻の型が使用されることが多...
静的ウェブサイトをホストできるサーバーは数多くあります。この記事では、nginx、apache、to...
目次1. システムイメージファイルをダウンロードする2. 新しい仮想マシンを作成する3. Kali ...
今日、私はブログサイト shoptalkshow を閲覧していて、非常に興味深いこのインターフェース...
今日の Web デザインでは、非常に大きなフォントが表示される傾向があります。これらのオープンソース...
1. 以前のバージョン yum 削除 docker docker-client docker-cli...
成熟したデータベース アーキテクチャは、最初から高可用性、高スケーラビリティなどの機能を備えて設計さ...
このチュートリアルでは、参考のためにmysqlインストーラコミュニティ8.0.12.0のインストール...
CHAR 型と VARCHAR 型は似ていますが、主に格納場所、末尾のスペース、取得方法が異なります...
1. システム環境yum updateアップグレード後のシステムバージョンは[root@yl-web...
まず、Navicat for MySQL をダウンロードしてインストールする必要があります。正規版の...
目次序文ブラウザJS非同期実行の原理ブラウザのイベントループ実行スタックとタスクキューマクロタスクと...
0. 背景ハードウェア: Xiaomi Notebook Air 13/Inter Core i7-...