查询构造器
//SELECT u.`username`, u.`age` FROM `users` `u`
$select->from($this->getTableName() . " as u", array("username", "age"));
//SELECT username, age FROM `users`
$select->from($this->getTableName(), "username, age");
//SELECT users.`username` `name`, users.`age` FROM `users`
条件查询(where、orWhere)
警告:除非明确参数是安全可靠的,否则绝对禁止$select->where("username = '{$username}'")方式传参,避免您的应用程序受到注入攻击
//SELECT users.* FROM `users` WHERE (age > "18") ORDER BY age ASC
$select->from($this->getTableName())
->where("age > ?", 18)
->order("age ASC");
//----------多个排序---------
//SELECT users.* FROM `users` WHERE (age > "18") ORDER BY age ASC, username ASC
$select->from($this->getTableName())
->where("age > ?", 18)
->order(array("age ASC", "username ASC"));
group by
//SELECT users.* FROM `users` WHERE (age > 18) GROUP BY age ORDER BY age ASC
$select->from($this->getTableName())
->where("age > 18")
->group("age")
->order("age ASC");
连接查询(joinLeft、joinInner、joinRight)
$select->from($this->getTableName() . " AS u")
->joinLeft($this->getTableName("departments") . " AS d", "u.department_id = p.department_id", array("department_name"))
->order("u.age ASC");
//SELECT users.* FROM `users` WHERE (age > "18") ORDER BY age ASC LIMIT 20
$select->from($this->getTableName())
->where("age > ?", 18)
->order("age ASC")
->limit(20);
//SELECT users.* FROM `users` WHERE (age > "18") ORDER BY age ASC LIMIT 20 OFFSET 0
$select->from($this->getTableName())
->where("age > ?", 18)
->order("age ASC")