Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak sprawdzić, z której tabeli pochodzi wynik, gdy używasz UNION w MySQL?

Dlaczego nie dodać przedrostka jako oddzielnej (obliczonej) kolumny?

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 ?

Edytuj: Zmieniłem również UNION [DISTINCT] do UNION ALL - z następujących powodów:

  • Jeśli oryginalne zapytanie daje różne wyniki dla UNION i UNION ALL , wprowadzenie prefiksu zmieni liczbę wierszy wyników.
  • W większości przypadków UNION ALL jest nieco szybszy niż UNION DISTINCT .
  • Większość ludzi faktycznie chce mieć 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. Utracone połączenie z mysql podczas korzystania z mysqldump nawet z parametrem max_allowed_packet

  2. Python Pandy to_sql, jak stworzyć tabelę z kluczem podstawowym?

  3. Jak usunąć ostatni rekord (pod warunkiem) z tabeli w MySql

  4. Jak ustawić strefę czasową bazy danych dla instancji AWS RDS?

  5. Powielanie tabeli, indeksów i danych MySQL