SQL从一组值中选择x

时间:2015-11-25 13:29:43

标签: sql

大家好我有一个关于如何从SQL中的一组值中选择值的问题,我的代码如下所示:

{{1}}

()中的代码返回多个作者,但是当我运行此查询时,它只获取一个作者的值。我该怎么做才能从所有作者()部分回报中获得价值?

3 个答案:

答案 0 :(得分:1)

使用

Select distinct T.subreddit from reddit T where EXISTS (select author from reddit where link_id = 't3_j56j2'and author = T.author);

答案 1 :(得分:0)

我想你只想要IN代替:

Select distinct subreddit from reddit
where author IN (select author from reddit where link_id = 't3_j56j2');

注意:子查询中不需要distinct

答案 2 :(得分:0)

我建议使用EXIST而不是IN语句。

IN语句将在IN语句中执行完整查询。在下面的示例中(将从reddit中选择作者,其中link_id =' t3_j56j2')将被执行,然后与作者中的值进行比较

Select subreddit from reddit
where author IN (select author from reddit where link_id = 't3_j56j2');

如果您使用EXISTS:

Select subreddit from reddit t
where EXISTS(select rownum from reddit where link_id = 't3_j56j2' and author = t.author);

存在的查询将在第一次匹配时停止执行,并且将是更好的性能选择。