Re: WHERE ... IN condition and multiple columns in subquery - Mailing list pgsql-general

From Geoff Winkless
Subject Re: WHERE ... IN condition and multiple columns in subquery
Date
Msg-id CAEzk6feSkerworOgr4e2tVdJ7M9uGKJWBQ4rWGeCBGqP7+7y6Q@mail.gmail.com
Whole thread Raw
In response to WHERE ... IN condition and multiple columns in subquery  (Alexander Farber <alexander.farber@gmail.com>)
List pgsql-general
On 28 October 2016 at 12:03, Alexander Farber <alexander.farber@gmail.com> wrote:
is it please possible to rewrite the SQL query

        SELECT DISTINCT ON (uid)
        uid,
        female,
        given,
                photo,
                place
        FROM words_social
        WHERE uid IN (SELECT player1 FROM games)
                OR uid IN (SELECT player2 FROM games)
        ORDER BY uid, stamp DESC

where first column player1 is fetched in a subquery and then column player2 is fetched from the same table?

You could use

​WHERE EXISTS (SELECT FROM games WHERE player1=uid OR player2=uid)

although as Tom says, it's dubious whether that will result in a significant speedup.

Geoff​

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: deadlock error - version 8.4 on CentOS 6
Next
From: Alban Hertroys
Date:
Subject: Re: WHERE ... IN condition and multiple columns in subquery