1

私は Silberschatz、Korth、Surdashan の本「Database System Concepts」でデータベースを研究しています (関係代数の表記法が他の著者とは異なるため、著者を引用します...

さて、SQL クエリの実行順序はリレーショナル代数に基づいていると思います。たとえば、次のようになります。

この SQL クエリがある場合:

SELECT nombre_sucursal, AVG(saldo) AS media_sucursal
FROM cuenta
GROUP BY nombre_sucursal
HAVING media_sucursal > 800

対応する関係代数式は次のとおりです。

Π nombre_sucursal (σ saldo > 800 (nombre_sucursal Ģ avg(saldo) (cuenta))

ええと...そのため、私の意見では、SQLクエリの実行順序は次のとおりです(関係代数式を逆に見ると):

  1. FROM - (cuenta) 関係代数式の基本関係
  2. GROUP BY nombre_sucursal - nombre_sucursal Ģ avg(saldo) 関係代数式
  3. HAVING media_sucursal > 800 - σ saldo > 800 関係代数式の選択演算
  4. SELECT nombre_sucursal, AVG(saldo) AS media_sucursal - Π nombre_sucursal ???

私は???を置きます これは私が理解できない部分であるため、記号:

SELECT 句が SQL クエリの最後の部分である場合、集計関数の結果の名前を「media_sucursal」に変更し、HAVING 句でそれを使用するにはどうすればよいですか?

この質問を確認しましたが、上記の内容を確認しましたが、質問には答えていません。

どんな助けでも大歓迎です!

4

1 に答える 1