sql >> データベース >  >> RDS >> Sqlserver

持っている句で集計にエイリアスを使用できないのはなぜですか?

    HAVING 句はSELECTの前に評価されます -そのため、サーバーはそのエイリアスをまだ認識していません。

    1. まず、FROM内のすべてのテーブルの積 条項が形成されます。

    2. WHERE 次に、句が評価され、search_conditionを満たさない行が削除されます。

    3. 次に、GROUP BYの列を使用して行がグループ化されます 条項。

    4. 次に、search_conditionを満たさないグループ HAVINGで 条項は削除されます。

    5. 次に、SELECTの式 ステートメントターゲットリストが評価されます。

    6. DISTINCTの場合 select句にキーワードが存在するため、重複する行が削除されるようになりました。

    7. UNION 各副選択が評価された後に取得されます。

    8. 最後に、結果の行は、ORDER BYで指定された列に従って並べ替えられます 条項。

    9. TOP 句が実行されます。

    これがあなたの質問に答えることを願っています。また、エイリアスがORDER BYで機能する理由についても説明します。 条項。



    1. MySQLdbパッケージをインストールするにはどうすればいいですか? (ImportError:setuptoolsという名前のモジュールがありません)

    2. Hibernateクエリ言語で左結合を実行するにはどうすればよいですか?

    3. oracle sql (左括弧がありません

    4. codeigniterの列から一意の値のみを選択します