Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pilih kolom dengan alias di MySQL

Jawaban singkat:

  1. referensi ke alias dalam daftar SELECT atau
  2. 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bergabung dengan tanggal yang hilang dari tabel kalender

  2. Cara Menemukan Nilai Non-Numerik di Kolom di MySQL

  3. Tidak dapat terhubung ke MySQL dari Java:NullPointerException di dalam logika koneksi driver MySQL

  4. mysql-connector tidak akan diimpor ke skrip di pycharm

  5. kerentanan mysql_escape_string