About Reference:アバウトリファレンス

当サイトはPHPなどのサーバーサイドスクリプトや、
MySQLなどのデータベースプログラミングのマニュアルサイトです。
WEBアプリケーションの開発やこれからWEBプログラミングを覚えたい!
というような方々のお手伝いが出来れば幸いです。

日本語 MySQL マニュアル

A.5.4. alias の問題

エイリアスを使用して、GROUP BYORDER BY または HAVING 部分のカラムを参照することができます。エイリアスを使用して、カラムにわかりやすい名前を付けることもできます。

SELECT SQRT(a*b) as rt FROM table_name GROUP BY rt HAVING rt > 0;
SELECT id,COUNT(*) AS cnt FROM table_name GROUP BY id HAVING cnt > 0;
SELECT id AS "Customer identity" FROM table_name;

標準 SQL では、WHERE 節のエイリアスを参照することはできません。これは、WHERE コードが実行される際、カラム値がまだ設定されていない場合があるためです。たとえば、以下のクエリは無効です。

SELECT id,COUNT(*) AS cnt FROM table_name WHERE cnt > 0 GROUP BY id;

WHERE ステートメントを実行して GROUP BY 部分に追加するレコードを決定し、HAVING を実行して結果セットからどのレコードを使用するか決定します。


Converted by OpenCage. Base data is http://dev.mysql.com/doc/mysql/ja/.