You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Maryann Xue (JIRA)" <ji...@apache.org> on 2014/10/03 02:33:33 UTC

[jira] [Commented] (PHOENIX-167) Support semi/anti-joins

    [ https://issues.apache.org/jira/browse/PHOENIX-167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14157510#comment-14157510 ] 

Maryann Xue commented on PHOENIX-167:
-------------------------------------

This patch would also resolve PHOENIX-1300, since after sub-queries are converted to joins, the join algorithm can choose whichever approach it would take.

> Support semi/anti-joins
> -----------------------
>
>                 Key: PHOENIX-167
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-167
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>            Assignee: Maryann Xue
>              Labels: enhancement
>         Attachments: 167.patch
>
>
> A semi-join between two tables returns rows from the first table where one or more matches are found in the second table. The difference between a semi-join and a conventional join is that rows in the first table will be returned at most once. Even if the second table contains two matches for a row in the first table, only one copy of the row will be returned. Semi-joins are written using the EXISTS or IN constructs.
> An anti-join is the opposite of a semi-join and is written using the NOT EXISTS or NOT IN constructs.
> There's a pretty good write-up [here] (http://www.dbspecialists.com/files/presentations/semijoins.html) on semi/anti joins.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)