導入 今日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 テーブルはツリー構造テーブルを実現します
Web プロジェクトでは、タイムライン コントロールをよく使用します。この記事では、項目ごとに展開で...
公式ドキュメント:したがって、mysql は次のように起動する必要があります。 docker run...
1. ネストされたルーティングはサブルーティングとも呼ばれます。実際のアプリケーションでは、通常、ネ...
Ⅰ. 問題の説明: html+css を使用してシンプルなナビゲーション バーを実装します。 **...
<br />ナビゲーションとは、ウェブサイトの上部にあることが多いナビゲーション バーの...
Jenkins+Tomcatサーバーの設定中に、Tomcat設定ファイルが変更され、サーバーのTom...
エラー発生: MySQL 5.7 から SQL にデータベースをエクスポートし、それを MySQL ...
使用シナリオ: Alibaba Cloud を使用しており、データディスクを別途購入しました (大容...
nginx の HTTP モジュールを作成する場合、リクエスト開始時のアクセス許可の有無、コンテンツ...
準備: 1. VMwareワークステーションソフトウェアをインストールする2. Kali Linux...
目次シャロークローニングとディープクローニングとは何ですか? 1. アレイのクローンを作成する1.1...
バックアップがあれば、非常に簡単です。最新のバックアップ データを生成し、mysqlbinlog を...
ここ数日、dockerでSpring Bootアプリケーションを実行する方法を勉強してきました。以前...
MySQL バックアップコールドバックアップ:停止服務進行備份,即停止數據庫的寫入ホットバックアップ...
1. トランザクションはACID特性を持つ原子性: トランザクションは、トランザクションによって分割...