mysql - 如何对两个表进行并集运算?

标签 mysql c

在两个表之间执行 union 运算符后,其中一个表中的列为空,结果从第二行显示...我不知道为什么会发生这种情况...?谁能澄清我的疑问吗?

我的表是sample1和sample2 两个表都包含 Id、Empname、Location

表中的数据为

  101    Null    NUll
  102    aaaa   sec

表2中的数据为

  103    bbbb    hyd
  102    cccc    gdv

查询:

    (select EmpName,Location
    from sample1)
    union
    (select EmpName,Location
    from sample2) 


Output
  EMPNAME         LOCATION

    aaaa          sec
    bbbb           hyd
    cccc           gdv

最佳答案

要从结果中删除空记录,请尝试以下操作:

(select EmpName,Location
from sample1
WHERE EmpName IS NOT NULL
  AND Location IS NOT NULL)
union 
(select EmpName,Location
from sample2
WHERE EmpName IS NOT NULL
  AND Location IS NOT NULL) 

结果:

EMPNAME   LOCATION
vijay     ngdv
suresh    hyd
ajay      hyd

查看结果 SQL Fiddle .

编辑:

我猜该记录包含空字符串或空格而不是 null。所以试试这个:

(select EmpName,Location
from sample1
WHERE LENGTH(TRIM(EmpName)) >0
  AND LENGTH(TRIM(Location)) >0)
union 
(select EmpName,Location
from sample2
WHERE LENGTH(TRIM(EmpName)) >0
  AND LENGTH(TRIM(Location)) >0)

查看结果 SQL Fiddle .

说明:

LENGTH(TRIM(EmpName)) 将返回字段 EmpName 删除空格后的长度。

关于mysql - 如何对两个表进行并集运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23647877/

相关文章:

c - 有什么方法可以加速 C 中的 be32 编码吗?

c++ - 我可以在 C 中使用什么来代替 C++ 中的 "string"

c - (*x).y 与 x->y 相同吗?

c++ - #include guard 不起作用 - 或者我不明白

php - 如何替换mysql数据库中的批量href链接

mysql - ON DUPLICATE KEY UPDATE with WHERE 条件

c - 在命令提示符中监视 Netbeans C/C++ 的输出

MySQL查询输出空闲座位

java - SQL - 如何获取 SUM 的百分比

php - 导入时,二进制 IP 地址上的 API 调用显示奇怪的格式