Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách biết kết quả từ bảng nào khi sử dụng UNION trong MySQL

Tại sao không thêm tiền tố dưới dạng một cột riêng biệt (được tính toán)?

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 ?

Chỉnh sửa: Tôi cũng đã thay đổi UNION [DISTINCT] tới UNION ALL - vì những lý do sau:

  • Nếu truy vấn ban đầu tạo ra các kết quả khác nhau cho UNIONUNION ALL , việc giới thiệu tiền tố sẽ thay đổi số lượng hàng kết quả.
  • Trong hầu hết các trường hợp, UNION ALL nhanh hơn một chút so với UNION DISTINCT .
  • Hầu hết mọi người thực sự muốn có 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. Truy vấn tổng hợp có điều kiện với một nhóm theo

  2. Truy vấn SQL trả về dữ liệu từ nhiều bảng

  3. Cách chọn bản ghi cuối cùng từ bảng MySQL bằng cú pháp SQL

  4. MyBatis, làm cách nào để lấy khóa được tạo tự động của một phụ trang? [MySql]

  5. Cách chuyển đổi mảng MySQL JSON thành chuỗi được phân tách bằng dấu phẩy