Return 行已找到和未找到

Return rows of found and not found

是否可以 return 所有行都基于条件?示例:

SELECT
 *
FROM
 TABLE
WHERE
 USER IN ('A', 'B', 'C')

在上面的示例中,只有当用户 A、B 和 C 存在时才会 return。如果用户 C 不存在,它将 return 只有 2 行,A 和 B .我想要3行,C为空

谢谢。

你可以用这个

SELECT
    t1.[user],
    t.*
FROM
(
    SELECT 'A' [user]
    UNION ALL
    SELECT 'B'
    UNION ALL
    SELECT 'C'
) t1    
LEFT JOIN 
    table_name t
ON t.[user] = t1.[user];

您可以在这里利用 LEFT join..

WITH cte AS 
(SELECT 'a' AS user UNION ALL
 SELECT 'b' 
  SELECT 'c'
 )
SELECT * FROM cte
LEFT JOIN tablename ON yourcolumnName = user