当 MySQL 返回空结果集时返回 NULL 值

Shr*_*har 6 mysql sql

我有一个查询,如下所示。

 select a.ab as new from tab a inner join tab b on a.ab=b.ab 
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它的显示时。

  MySQL returned an empty result set (i.e. zero rows). 
Run Code Online (Sandbox Code Playgroud)

因为所选条件没有行。

我需要的实际输出是。

 new
 ----
 NULL
Run Code Online (Sandbox Code Playgroud)

所以我试图在下面添加这个查询。

 select COALESCE(a.ab,'') as new from tab a inner join tab b on a.ab=b.ab 
Run Code Online (Sandbox Code Playgroud)

仍然是它的给予

 MySQL returned an empty result set (i.e. zero rows).
Run Code Online (Sandbox Code Playgroud)

那么当 MYSQL 返回空集时如何显示 NULL 值。感谢任何帮助。

Mah*_*esh 5

你可以只使用Outer select. 使用 封装查询Outer select,如果您希望NULL在 0 行的情况下从数据库中获取实际值,

SELECT 
    (
      SELECT a.ab 
      FROM 
          tab a INNER JOIN tab b 
           ON a.ab=b.ab
    ) As New;
Run Code Online (Sandbox Code Playgroud)

您可以使用UNION ALLLIMIT 作为替代方案,

      SELECT a.ab 
      FROM 
          tab a INNER JOIN tab b 
           ON a.ab=b.ab
      UNION ALL 
      SELECT NULL
      LIMIT 1
Run Code Online (Sandbox Code Playgroud)