1-1 or 1-Many inner/left joins can be supported. Your query will execute best if you have the table with the highest cardinality first, joining against the tables with decreasing granularity. You can join as many levels deep from the first table that is driving it.
TARGIT InMemory Database supports LEFT, INNER and CROSS JOIN ONLY.
LEFT JOIN
All joins are driven by the first table which is assumed to be the main fact table. It supports joining on up to eight dimensions. Queries should be designed without join loops and joined in such a way that the joins all flow from the first table or higher level tables.
Example:
SELECT *FROM bLEFT JOIN a ON b.id = a.id
CROSS JOIN
Cross joins can be created by having tables and joins separated by a comma.
SELECT *FROM a,b,c
You may be able to speed up cross join queries by moving related parts of the where clause into B,C as sub-queries in this case.
Example
SELECT *FROM a,b, (SELECT value1, value2 FROM c) AS cxWHERE a.id = b.id AND b.value = cx.value1
INNER JOIN
An inner join is a join in which the values in the columns being joined are compared using a comparison operator.
SELECT * FROM HumanResources.Employee AS e INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID ORDER BY p.LastName |