Does Matisse SQL support joins?
Yes, Matisse now supports equi-joins among classes. For example, the following statement selects the names of movies along with their director names: SELECT m.name, d.lastName, d.firstName FROM movie m, movieDirector d WHERE m.directedBy = d.oid The join condition is expressed using the relationship ‘directedBy’ defined between the two classes. The relationship ‘directedBy’ works as the foreign key and ‘oid’ works as the primary key. Here is another example using SQL join. If you want to select movies with directors whose name starts with ‘S’, use the following statement: SELECT m.name, d.lastName, d.firstName FROM movie m, movieDirector d WHERE m.directedBy = d.oid AND d.lastName LIKE ‘S%’ Since the navigation between objects that forms the Matisse join mechanism is part of the Matisse database architecture, the join operation executes significantly faster than the same operation performed using a relational database. In the Matisse object SQL database, the join operation is a simple