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

Bagaimana cara mengetahui dari tabel mana hasil berasal saat menggunakan UNION di MySQL

Mengapa tidak menambahkan awalan sebagai kolom terpisah (dihitung)?

SELECT 'SN' prefix, snippet_id, title FROM tbl_snippets WHERE title LIKE ?
UNION ALL
SELECT 'TA', tag_id, tag FROM tbl_tags WHERE tag LIKE ?
UNION ALL
SELECT 'CA', category_id, category FROM tbl_categories WHERE category LIKE ?

Sunting: Saya juga telah mengubah UNION [DISTINCT] ke UNION ALL - karena alasan berikut:

  • Jika kueri asli menghasilkan hasil yang berbeda untuk UNION dan UNION ALL , memperkenalkan awalan akan mengubah jumlah baris hasil.
  • Dalam kebanyakan kasus UNION ALL sedikit lebih cepat dari UNION DISTINCT .
  • Kebanyakan orang sebenarnya ingin memiliki UNION ALL .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alternatif Proxy MySQL untuk Database Sharding

  2. Bagaimana cara memasukkan karakter khusus ke dalam database?

  3. Apa yang Harus Diperiksa jika Pemanfaatan Memori MySQL Tinggi?

  4. MySQL berkata:Dokumentasi #1045 - Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata sandi:TIDAK)

  5. Parameter MyBatis dari HashMap