Sql 如何从子查询中检索生成的结果

Sql 如何从子查询中检索生成的结果,sql,select,Sql,Select,例如: SELECT tb1.column1, tb1.column2 FROM table1 AS tb1 WHERE tb1.column1 = (SELECT tb2.column2 FROM table2 As tb2) 但是…子查询可能有多个结果。如果有3个结果来自子查询,我如何处理它 在这个问题上使用中的 中的可以处理多个值,而=只能保存一个值 SELECT tb1.column1, tb1.column2 FROM table1 AS tb1 WHERE tb1.column1

例如:

SELECT tb1.column1, tb1.column2
FROM table1 AS tb1
WHERE tb1.column1 = (SELECT tb2.column2 FROM table2 As tb2)

但是…子查询可能有多个结果。如果有3个结果来自子查询,我如何处理它

在这个问题上使用
中的

中的
可以处理多个值,而
=
只能保存一个值

SELECT tb1.column1, tb1.column2
FROM table1 AS tb1
WHERE tb1.column1 IN (SELECT tb2.column2 FROM table2 As tb2)
或者另一种方法是使用
JOIN
,这是一种更可取的方法

SELECT  DISTINCT tb1.column1, tb1.column2
FROM    table1 AS tb1
        INNER JOIN table2 b
            ON tb1.column1 = b.column2

中使用此选项

中的
可以处理多个值,而
=
只能保存一个值

SELECT tb1.column1, tb1.column2
FROM table1 AS tb1
WHERE tb1.column1 IN (SELECT tb2.column2 FROM table2 As tb2)
或者另一种方法是使用
JOIN
,这是一种更可取的方法

SELECT  DISTINCT tb1.column1, tb1.column2
FROM    table1 AS tb1
        INNER JOIN table2 b
            ON tb1.column1 = b.column2

您需要在
中使用
,而不是
=

SELECT tb1.column1, tb1.column2
FROM table1 AS tb1
WHERE tb1.column1 in (SELECT tb2.column2 FROM table2 As tb2)

您需要在
中使用
,而不是
=

SELECT tb1.column1, tb1.column2
FROM table1 AS tb1
WHERE tb1.column1 in (SELECT tb2.column2 FROM table2 As tb2)

@user2218255你说的内部选择的2个结果是什么意思?@downvoter我不在乎你是否在没有留下任何评论的情况下对这个答案投了反对票。我想知道这有什么问题。无论如何,快乐的向下投票:)@user2218255你说的内部选择的2个结果是什么意思?@downvoter我不在乎你是否已经向下投票了这个答案而没有留下任何评论。我想知道这有什么问题。无论如何,快乐的向下投票:)@user2218255这就是为什么你在
中使用
而不是
=
@user2218255,这就是为什么你在
中使用
而不是
=