The parameter $expression is checked if it is between $value1 and $value2.
Note: There is a slight difference in the way BETWEEN works on some databases.
http://www.w3schools.com/sql/sql_between.asp. If you want complete database
independence you should avoid using between().
Example:
$q = $dbHandler->createSelectQuery();
$q->select( '*' )->from( 'table' )
->where( $q->expr->between( 'id', $q->bindValue( 1 ), $q->bindValue( 5 ) ) );