zoukankan      html  css  js  c++  java
  • 3.2 Zend_Db_Select

    10.4. Zend_Db_Select
    这里写图片描写叙述

    你能够使用该对象和它的对应方法构建一个select查询语句,然后生成 字符串符用来传送给zend_db_adapter进行查询或者读取结果。

    这里写图片描写叙述

    你也能够在你的查询语句中使用绑定的參数,而不须要自己为參数加引號.
    这里写图片描写叙述


    10.4.2. 同一表中查询多列数据
    这里写图片描写叙述


    10.4.3. 多表联合查询
    这里写图片描写叙述


    10.4.4. WHERE条件
    这里写图片描写叙述


    10.4.5. GROUP BY分句
    这里写图片描写叙述


    10.4.6. HAVING 条件
    这里写图片描写叙述


    10.4.7. ORDER BY 分句
    这里写图片描写叙述


    10.4.8. 通过总数和偏移量进行LIMIT限制
    Zend_db_select能够支持数据库层的limit语句限制。对于一些数据库,比如mysql 和postgresql。实现这些是相对easy的,由于这些数据库本身就支持“limit:count” 语法。

    对于其它一些数据库来说。比如微软的sqlserver和oracle,要实现limit功能 就不那么简单了,由于他们本身就根本不支持limit语句。

    MS-SQL有一个top语 句来实现,而oracle要实现limit功能,查询语句的写法就更特殊一些。

    由于 zend_db_select内在地工作的方式。我们能够重写select语句以在oracle中 实现上述开源数据库系统的limit功能。

    要通过设定查询的总数和偏移量对返回的结果进行限制,能够使用limit()方法, 总数值和一个可选的偏移量作为调用该方法的參数。

    <?php
    
    // 首先,一个简单的 "LIMIT :count"
    $select = $db->select();
    $select->from('foo', '*');
    $select->order('id');
    $select->limit(10);
    
    //
    // 在mysql/psotgreSql/SQLite,能够得到这种语句:
    //
    // SELECT * FROM foo
    //     ORDER BY id ASC
    //     LIMIT 10
    //
    // 可是在Microsoft SQL下,能够得到这种语句:
    //
    // SELECT TOP 10 * FROM FOO
    //     ORDER BY id ASC
    //
    //
    
    // 如今, 是更复杂的 "LIMIT :count OFFSET :offset"方法
    $select = $db->select();
    $select->from('foo', '*');
    $select->order('id');
    $select->limit(10, 20);
    
    //
    // 在mysql/psotgreSql/SQLite,能够得到这种语句:
    //
    // SELECT * FROM foo
    //     ORDER BY id ASC
    //     LIMIT 10 OFFSET 20
    //
    // 可是在Microsoft SQL下,由于不支持偏移量功能,能够得到这样sql语句:
    //
    // SELECT * FROM (
    //     SELECT TOP 10 * FROM (
    //         SELECT TOP 30 * FROM foo ORDER BY id DESC
    //     ) ORDER BY id ASC
    // )
    //
    // Zend_Db_Adapter 能够自己主动的完毕sql语句的动态创建.
    //
    
    ?

    >


    10.4.9. 通过页数和总数进行LIMIT限制
    这里写图片描写叙述

  • 相关阅读:
    java中的 equals 与 ==
    String类的内存分配
    SVN用命令行更换本地副本IP地址
    npoi 设置单元格格式
    net core 微服务框架 Viper 调用链路追踪
    打不死的小强 .net core 微服务 快速开发框架 Viper 限流
    net core 微服务 快速开发框架 Viper 初体验20201017
    Anno 框架 增加缓存、限流策略、事件总线、支持 thrift grpc 作为底层传输
    net core 微服务 快速开发框架
    Viper 微服务框架 编写一个hello world 插件02
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7284323.html
Copyright © 2011-2022 走看看