# phpman > perldoc > Class::DBI::Query

## NAME
    [Class::DBI::Query](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3AQuery/markdown) - Deprecated SQL manager for [Class::DBI](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI/markdown)

## SYNOPSIS
            my $sth = [Class::DBI::Query](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI%3A%3AQuery/markdown)
                    ->new({
                            owner => $class,
                            sqlname => $type,
                            essential => \@columns,
                            where_columns => \@where_cols,
                    })
                    ->run($val);

## DESCRIPTION
    This abstracts away many of the details of the [Class::DBI](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI/markdown) underlying SQL mechanism. For the most
    part you probably don't want to be interfacing directly with this.

    The underlying mechanisms are not yet stable, and are subject to change at any time.

## OPTIONS
    A Query can have many options set before executing. Most can either be passed as an option to
### new

  owner
    The [Class::DBI](https://www.chedong.com/phpMan.php/perldoc/Class%3A%3ADBI/markdown) subclass that 'owns' this query. In the vast majority of cases a query will
    return objects - the owner is the class of which instances will be returned.

  sqlname
    This should be the name of a query set up using set_sql.

  where_clause
    This is the raw SQL that will substituted into the 'WHERE %s' in your query. If you have
    multiple %s's in your query then you should supply a listref of where_clauses. This SQL can
    include placeholders, which will be used when you call run().

  essential
    When retrieving rows from the database that match the WHERE clause of the query, these are the
    columns that we fetch back and pre-load the resulting objects with. By default this is the
    Essential column group of the owner class.

## METHODS
  where()
            $query->where($match, @columns);

    This will extend your 'WHERE' clause by adding a 'AND $column = ?' (or whatever $match is,
    isntead of "=") for each column passed. If you have multiple WHERE clauses this will extend the
    last one.

