in reply to Re: Re: No Fear: decoupling your application from the database
in thread No Fear: decoupling your application from the database

Alzabo also does outer joins pretty simply. At least, it's simple in terms of scaling up from the complexity of a non-outer join example. There's still that initial learning curve and all ;)

my $cursor = $schema->join ( select => [ $table1, $table2 ], join => [ [ left_outer_join => $table1 => $table2 ], [ $table2 => $table3 ], ], ... );

The current CVS version also adds support for specifying join conditions as in this SQL:

SELECT ... FROM Foo OUTER JOIN Bar on Bar.foo_id = Foo.foo_id AND Bar.size > 2 WHERE ...

The Alzabo syntax for it is a bit ugly so far though.