sql >> Database >  >> RDS >> Mysql

Hoe te weten uit welke tabel een resultaat kwam bij gebruik van UNION in MySQL

Waarom voeg je het voorvoegsel niet toe als een aparte (berekende) kolom?

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 ?

Bewerken: Ik heb ook UNION [DISTINCT] . gewijzigd naar UNION ALL - om de volgende redenen:

  • Als de oorspronkelijke zoekopdracht andere resultaten oplevert voor UNION en UNION ALL , zal de introductie van het voorvoegsel het aantal resultaatrijen veranderen.
  • In de meeste gevallen UNION ALL is iets sneller dan UNION DISTINCT .
  • De meeste mensen willen eigenlijk UNION ALL . hebben .



  1. Hoe verander ik de waarde voor innodb_buffer_pool_size in MySQL op Mac OS?

  2. Een MariaDB Galera-cluster runnen zonder orkestratietools - DB Container Management:deel twee

  3. Snelle MySQL-tip:de DAYOFWEEK-functie gebruiken

  4. SQL Server ORDER BY-datum en nulls duren