代码之家  ›  专栏  ›  技术社区  ›  Joey Dossche

同一行sql中来自不同表的行

  •  2
  • Joey Dossche  · 技术社区  · 7 年前

    我正在寻找一种解决方案,将3个选择查询合并到1个查询中,以优化我们产品的速度,同时减少数据库中的等待时间。情况如下:

    第一张表(雇主):
    *ID  username*
    1   employerFirst
    2   employerSecond
    3   omployerThird
    
    第二张表(员工):
    *ID  username*
    1   employeeFirst
    2   employeeSecond
    3   employeeThird
    
    *ID  username*
    1   partFirst
    2   partSecond
    3   partThird
    

    我需要:

    *username*
    employerFirst
    employerSecond
    employerThird
    employeeFirst
    employeeSecond
    employeeThird
    partFirst
    partSecond
    partThird
    
    2 回复  |  直到 7 年前
        1
  •  3
  •   Esteban P.    7 年前

    使用 UNION ALL UNION .

    联合 联合所有 将保留重复的值。

        SELECT username FROM employer
     UNION ALL
        SELECT username FROM employee
     UNION ALL
        SELECT username FROM third_Part
    

    或者,如果不想返回重复的值:

        SELECT username FROM employer
         UNION 
        SELECT username FROM employee
         UNION 
        SELECT username FROM third_Part
    
        2
  •  2
  •   Loïc Di Benedetto    7 年前

    使用 UNION

    SELECT username FROM employer
    UNION
    SELECT username FROM employee
    UNION
    SELECT username FROM third_part