Jawaban singkat:
- referensi ke alias dalam daftar SELECT atau
- Ekspresi alias
Satu-satunya dokumentasi yang saya temukan sejauh ini adalah:https://bugs .mysql.com/bug.php?id=79549
Di tautan itu ada yang berikut:
[9 Des 2015 15:35] Roy Lyseng...Berikut adalah latar belakang yang lebih panjang untuk keputusan awal:
Berlawanan dengan referensi ke alias dalam subkueri dalam klausa WHERE (dan dalam GROUP BY, dalam hal ini), tidak ada alasan (kecuali kepatuhan standar) bahwa kita tidak boleh mengizinkan referensi ke alias dalam daftar SELECT , karena mereka harus tersedia dalam fase eksekusi kueri yang sama. Tetapi dukungan di 5.6 cukup sewenang-wenang:
Diberikan ini:buat tabel t1(a int, b int),
Alias dalam daftar SELECT tidak valid:
select a+b as c,c+1 from t1;
Tetapi dalam subquery, referensi ke c valid:
select a+b as c,(select c+1) from t1;
Dan subquery harus setelah definisi alias:
select (select c+1),a+b as c from t1;
Jadi, mudah untuk mengatakan bahwa dukungan untuk referensi ke alias dalam daftar SELECT agak ad-hoc. Namun demikian, kami akan mencoba untuk menerapkan kembali solusi lama, tetapi tanpa upaya untuk membersihkan lubang yang jelas dalam dukungan untuk fitur ini. Tetapi referensi alias dalam subkueri dalam klausa WHERE tidak akan diterapkan kembali.
Saya masih mencari dokumentasi di luar laporan bug yang menjelaskan fungsi ini dalam dokumen standar; tapi sejauh ini tidak berhasil.