my $sql = q{ SELECT `Cats`.`Name`, `Address`.`Address`, `Address`.`City`, `Contact`.`Phone`, `Keys`.`Keywords` FROM ( `Cats` LEFT JOIN `Address` USING (`Name`) LEFT JOIN `Contact` USING (`Name`) LEFT JOIN `Keys` USING (`Name`) ) WHERE `Keys`.`Keywords` LIKE ? ORDER BY `Cats`.`Name` asc LIMIT ?,? }; # get the statement handle, assuming a valid DBI object in $dbh my $sth = $dbh->prepare( $sql ); $sth->execute( '%'.$search.'%', $start - 1, $per_page + 1 );