ホームページ データベース mysql チュートリアル Group By 和 Having, Where ,Order by语句的执行顺序

Group By 和 Having, Where ,Order by语句的执行顺序

Jun 07, 2016 pm 04:14 PM
order where 埋め込む 声明

一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。 Group By 和 Having, Where ,Order by这些关键

一个SQL语句往往会产生多个临时视图,那么这些关键字的执行顺序就非常重要了,因为你必须了解这个关键字是在对应视图形成前的字段进行操作还是对形成的临时视图进行操作,这个问题在使用了别名的视图尤其重要。

Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

  • 首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数)
  • 然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组
  • 接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉
  • 最后按照Order By语句对视图进行排序,这样最终的结果就产生了。

在这四个关键字中,只有在Order By语句中才可以使用最终视图的列名,如:

<code>SELECT FruitName, ProductPlace, Price, ID AS IDE, Discount
FROM T_TEST_FRUITINFO
WHERE (ProductPlace = N'china')
ORDER BY IDE
</code>
ログイン後にコピー

这里只有在ORDER BY语句中才可以使用IDE,其他条件语句中如果需要引用列名则只能使用ID,而不能使用IDE。

PS:

  • 凡是在group by后面出现的字段,必须同时在select后面出现;

  • 凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面.

  • having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。

(文:程序员之家)
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

5分ごとに実行されるPythonスクリプト 5分ごとに実行されるPythonスクリプト Sep 10, 2023 pm 03:33 PM

自動化とタスクのスケジューリングは、ソフトウェア開発における反復的なタスクを合理化する上で重要な役割を果たします。 API からのデータの取得、データ処理の実行、定期的な更新の送信など、5 分ごとに実行する必要がある Python スクリプトがあると想像してください。スクリプトを手動で頻繁に実行すると、時間がかかり、エラーが発生しやすくなります。ここでタスクのスケジュール設定が役に立ちます。このブログ投稿では、Python スクリプトを 5 分ごとに実行するようにスケジュールし、手動介入なしで自動的に実行されるようにする方法を説明します。この目標を達成するために使用でき、タスクを効率的に自動化できるさまざまな方法とライブラリについて説明します。 time.sleep() 関数を使用して Python スクリプトを 5 分ごとに実行する簡単な方法は、tim を利用することです。

Linux でのスクリプト作成と実行に Python を使用する方法 Linux でのスクリプト作成と実行に Python を使用する方法 Oct 05, 2023 am 11:45 AM

Python を使用して Linux でスクリプトを作成および実行する方法 Linux オペレーティング システムでは、Python を使用してさまざまなスクリプトを作成および実行できます。 Python は、スクリプト作成をより簡単かつ効率的にするための豊富なライブラリとツールを提供する、簡潔で強力なプログラミング言語です。以下では、Linux で Python を使用してスクリプトを作成および実行する基本的な手順を紹介し、Python をよりよく理解して使用するのに役立つ具体的なコード例をいくつか示します。 Pythonをインストールする

Python でブラウン フォーサイス テストを実行する方法 Python でブラウン フォーサイス テストを実行する方法 Aug 31, 2023 pm 11:53 PM

ブラウン フォーサイス検定は、2 つ以上のグループの分散が等しいかどうかを判断するために使用される統計検定です。 Levene の検定では平均値からの絶対偏差が使用されますが、Brown-Forsythe 検定では中央値からの偏差が使用されます。検定で使用される帰無仮説は次のとおりです - H0: グループ (母集団) の分散は等しい. 対立仮説は、分散が等しくないということです - H1: グループ (母集団) の分散は等しくないです。検定を実行すると、各グループの中央値と中央値との相関、桁数の絶対偏差が計算されます。次に、これらの偏差の分散に基づいて F 統計量を計算します。計算された F 統計量が F 分布表の臨界値より大きいと仮定します。この場合、帰無仮説は棄却され、グループの分散は等しくないと結論付けられます。 Python では、sc

ブラウザで PHP コードを記述し、コードが実行されないようにするにはどうすればよいでしょうか? ブラウザで PHP コードを記述し、コードが実行されないようにするにはどうすればよいでしょうか? Mar 10, 2024 pm 02:27 PM

ブラウザで PHP コードを記述し、コードが実行されないようにするにはどうすればよいでしょうか?インターネットの普及に伴い、Web開発に触れる人が増え、PHPの学習にも注目が集まっています。 PHP はサーバー側で実行されるスクリプト言語であり、動的な Web ページを作成するためによく使用されます。ただし、演​​習フェーズでは、ブラウザーで PHP コードを作成して結果を確認できるようにしたいと考えていますが、コードが実行されることは望ましくありません。では、ブラウザで PHP コードを記述し、それが実行されないようにするにはどうすればよいでしょうか?以下、詳細に説明する。初め、

Laravel コレクションの Where メソッドの実践ガイド Laravel コレクションの Where メソッドの実践ガイド Mar 10, 2024 pm 04:36 PM

Laravel コレクションの Where メソッドに関する実践ガイド Laravel フレームワークの開発中、コレクションは、データを操作するための豊富なメソッドを提供する非常に便利なデータ構造です。中でも、Where メソッドは、指定した条件に基づいてコレクション内の要素をフィルタリングできる、一般的に使用されるフィルタリング メソッドです。この記事では、Laravel コレクションでの Where メソッドの使用法を紹介し、特定のコード例を通じてその使用法を示します。 1. Whereメソッドの基本的な使い方

LaravelコレクションでWhereメソッドを使用する方法 LaravelコレクションでWhereメソッドを使用する方法 Mar 10, 2024 pm 10:21 PM

Laravel コレクションで Where メソッドを使用する方法 Laravel は、開発者がアプリケーションを迅速に構築できるようにする豊富な機能とツールを提供する人気のある PHP フレームワークです。その中でも、コレクションは Laravel の非常に実用的で強力なデータ構造であり、開発者はコレクションを使用して、フィルタリング、マッピング、並べ替えなどのデータに対するさまざまな操作を実行できます。コレクションでは、Where メソッドは、指定された条件に基づいてコレクションをフィルター処理するためによく使用される方法です。

初心者から熟練者まで: is セレクターと where セレクターの使用スキルをマスターする 初心者から熟練者まで: is セレクターと where セレクターの使用スキルをマスターする Sep 08, 2023 am 09:15 AM

初心者から上級者まで: is および where セレクターの使用スキルをマスターする はじめに: データの処理と分析のプロセスにおいて、セレクターは非常に重要なツールです。セレクターを使用すると、特定の条件に従ってデータセットから必要なデータを抽出できます。この記事では、読者がこれら 2 つのセレクターの強力な機能をすぐに習得できるように、is および where セレクターの使用スキルを紹介します。 1. is セレクターの使用 is セレクターは、与えられた条件に基づいてデータセットを選択できるようにする基本的なセレクターです。

Python で ANCOVA を実行するにはどうすればよいですか? Python で ANCOVA を実行するにはどうすればよいですか? Sep 01, 2023 pm 05:21 PM

ANCOVA (共分散分析) は、分析に共変量を含めることができるため、有用な統計手法です。これにより、補助変数を調整し、グループ間の比較の精度を高めることができます。これらの追加の因子または共変量は、ANCOVA を使用して研究に含めることができます。観察されたグループ間の差異が外部要因によるものではなく、研究における治療または介入によって引き起こされていることを確認するために、ANCOVA を使用してグループ平均に対する共変量の影響を調整できます。これにより、グループ間のより正確な比較が可能になり、変数間の関係についてより信頼性の高い結論が得られます。この記事では、ANCOVA を詳しく見て、Python で実装します。アンコバとは何ですか?共分散分析 (ANCOVA) 法は、2 つ以上のグループを比較します。

See all articles