首页 > 解决方案 > SQL左连接仅在我指定右表的列时才有效(Redshift)

问题描述

我有两个表,table1(左表)有 33k 行,table2 有超过 33k 行。所以当我做左连接时,查询应该返回 33k 行,对吧?

当我从 table2 指定列时,查询按预期返回 33k 行。(查询一)

但是当我从 table2 中选择所有列时,查询只返回 26k 行。(查询 2)

(起初我认为这个差异是 table2 中 NULL 值的 bc,但我检查了结果查询也有 NULL 值。)

查询 1(按预期返回 33k 行):

SELECT A.id, A.col2, A.col3, B.ids, B.column1, B.column2,  
FROM table1 AS A 
LEFT JOIN table2 AS B 
ON A.id = B.ids

查询 2(仅返回 26k 行):

SELECT A.*, B.*  
FROM table1 AS A 
LEFT JOIN table2 AS B 
ON A.id = B.ids

(红移 | PostgreSQL)

标签: sqlamazon-redshift

解决方案


推荐阅读