NAME
   SQL::Abstract::Builder - Builds and executers relational queries

SYNOPSIS
       my @docs = query {"dbi:mysql:$db",$user} build {
           -columns => [qw(id foo bar)],
           -from => 'table1',
           -key => 'id',
       } include {
           -columns => [qw(id baz glarch)],
           -from => 'table2',
           -key => 'table1_id',
       } include {
           -columns => [qw(id alfa)],
           -from => 'table3',
           -key => 'table1_id',
       };

DESCRIPTION
   It gives you a very simple way to define fetch documents (rows and
   related children) from your relational DB (instead of just rows).

METHODS
 query
   Executes the built query. Takes either a DBIx::Simple connection or the
   same arguments that are valid for "DBIx::Simple-"connect>.

  Usage
       my @docs = query {"dbi:mysql:$db",$user} ...
       # OR
       my @docs = query {$dbh} ...

 build
   Builds the query assuming the given table is the base.

  Usage
       my @refs = build { ... } ...

 include
   Includes the results of a "JOIN" on the given table when built.

  Usage
       my @refs = build { ... } include { ... }