enableDistinct(); // FROM $sql->addTable('users'); $sql->addTable('groups', 'g'); $sql->addTable('permissions', 'p'); // --- $sql->removeTable('groups'); // add some select columns $sql->addSelect('users', 'username'); $sql->addSelect('users', 'priority', 'prio'); $sql->addRawSelect('AVG(users.wage)', 'avg_wage'); // --- $sql->removeSelect('prio'); // add WHERE statements $sql->addWhere('users', 'username', 'max', SQLBUILDER_COMP_EQUAL, SQLBUILDER_LOGICAL_OR); $sql->addWhere('users', 'username', 'max'); $sql->addWhere('users', 'username', 'carsten'); $sql->addRawWhere('users.userId = groups.userId'); // --- $sql->removeWhere('users', 'username', SQLBUILDER_LOGICAL_AND); $sql->removeRawWhere(SQLBUILDER_LOGICAL_OR); // add some GROUPY BY statements $sql->addGroupBy('users', 'username', SQLBUILDER_ORDER_ASC); $sql->addGroupBy(2, null, SQLBUILDER_ORDER_DESC); // add HAVING $sql->addHaving('users', 'username', 'max', SQLBUILDER_COMP_EQUAL, SQLBUILDER_LOGICAL_OR); $sql->addHaving('users', 'username', 'max'); $sql->addHaving('users', 'username', 'carsten'); $sql->addRawHaving('users.userId = groups.userId'); // --- $sql->removeHaving('users', 'username', SQLBUILDER_LOGICAL_AND); $sql->removeRawHaving(SQLBUILDER_LOGICAL_AND); // ORDER BY $sql->addOrderBy('users', 'username', SQLBUILDER_ORDER_ASC); $sql->addOrderBy('alias', null, SQLBUILDER_ORDER_DESC); $sql->removeOrderBy('alias'); // LIMIT $sql->setLimit(15, 10); // generate query $q = $sql->generateQuery(); echo $q; ?>