Great question. This article does a decent job of explaining the right semi join, and differentiating from an inner join.
TL;DR: A right semi join is more efficient than an inner join for certain queries. The prototype example is an exists SQL query – a query that filters rows out of table1, if they are not in table2:
select * from table1 where table1.fieldname1 exists in table2
The inner-join operation is more efficient in Xcalar if fieldname1 is a primary key for the table. Otherwise, use the right semi join.
Any other questions about this? The cool takeaway for me is that after the last release, Xcalar can perform all standard database query types, providing avenues for query optimization.
Did that help?