You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两个无关联SQL表的名称字段并统一按字母序排序

实现SQL语句

你需要通过UNION ALL/UNION合并两张表的名称字段后统一排序,MySQL环境下可参考以下写法:

兼容所有MySQL版本的写法

SELECT nombre
FROM (
    SELECT ca_nombre AS nombre FROM cancion
    UNION ALL
    SELECT bai_nombre AS nombre FROM baile
) AS combined_names
ORDER BY LOWER(CONVERT(nombre USING ascii)) ASC;

MySQL 8.0+ 简化写法

MySQL 8.0及以上版本可直接指定不区分重音、不区分大小写的排序规则,代码更简洁:

SELECT ca_nombre AS nombre FROM cancion
UNION ALL
SELECT bai_nombre AS nombre FROM baile
ORDER BY nombre COLLATE utf8mb4_0900_as_ci ASC;

参数说明

  • 若需要合并后自动去除重复的名称,将UNION ALL替换为UNION即可
  • CONVERT(nombre USING ascii) 用于去除西班牙语等字符中的重音标记,例如将clásica转换为clasica
  • LOWER() 统一转为小写实现大小写不敏感排序
  • 排序逻辑必须放在合并语句的最外层,才能实现两张表数据的统一排序

最终升序输出结果

  • Amiga
  • Break dance
  • cumbia
  • Danza clásica
  • Danza irlandesa
  • Flamenco
  • Gracias a ti
  • La gata bajo la lluvia
  • Las locuras mías
  • Polca
  • Salsa
  • samba
  • Tu

内容的提问来源于stack exchange,提问作者Maicol Rojas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:27:05