search
Homephp教程php手册zend 2.2 db select 使用例子

<span <?php<br /><br />use</span><span  Zend\Db\Sql\Select;
 
</span><span //</span><span  basic table</span>
<span $select0</span> = <span new</span><span  Select;
</span><span $select0</span>->from('foo'<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo"';
 
 
// table as TableIdentifier</span>
<span $select1</span> = <span new</span><span  Select;
</span><span $select1</span>->from(<span new</span> TableIdentifier('foo', 'bar'<span ));
</span><span //</span><span  'SELECT "bar"."foo".* FROM "bar"."foo"';
 
 
// table with alias</span>
<span $select2</span> = <span new</span><span  Select;
</span><span $select2</span>->from(<span array</span>('f' => 'foo'<span ));
</span><span //</span><span  'SELECT "f".* FROM "foo" AS "f"';
 
 
// table with alias with table as TableIdentifier</span>
<span $select3</span> = <span new</span><span  Select;
</span><span $select3</span>->from(<span array</span>('f' => <span new</span> TableIdentifier('foo'<span )));
</span><span //</span><span  'SELECT "f".* FROM "foo" AS "f"';
 
 
// columns</span>
<span $select4</span> = <span new</span><span  Select;
</span><span $select4</span>->from('foo')->columns(<span array</span>('bar', 'baz'<span ));
</span><span //</span><span  'SELECT "foo"."bar" AS "bar", "foo"."baz" AS "baz" FROM "foo"';
 
 
// columns with AS associative array</span>
<span $select5</span> = <span new</span><span  Select;
</span><span $select5</span>->from('foo')->columns(<span array</span>('bar' => 'baz'<span ));
</span><span //</span><span  'SELECT "foo"."baz" AS "bar" FROM "foo"';
 
 
// columns with AS associative array mixed</span>
<span $select6</span> = <span new</span><span  Select;
</span><span $select6</span>->from('foo')->columns(<span array</span>('bar' => 'baz', 'bam'<span ));
</span><span //</span><span  'SELECT "foo"."baz" AS "bar", "foo"."bam" AS "bam" FROM "foo"';
 
 
// columns where value is Expression, with AS</span>
<span $select7</span> = <span new</span><span  Select;
</span><span $select7</span>->from('foo')->columns(<span array</span>('bar' => <span new</span> Expression('COUNT(some_column)'<span )));
</span><span //</span><span  'SELECT COUNT(some_column) AS "bar" FROM "foo"';
 
 
// columns where value is Expression</span>
<span $select8</span> = <span new</span><span  Select;
</span><span $select8</span>->from('foo')->columns(<span array</span>(<span new</span> Expression('COUNT(some_column) AS bar'<span )));
</span><span //</span><span  'SELECT COUNT(some_column) AS bar FROM "foo"';
 
 
// columns where value is Expression with parameters</span>
<span $select9</span> = <span new</span><span  Select;
</span><span $select9</span>->from('foo')-><span columns(
    </span><span array</span><span (
        </span><span new</span><span  Expression(
            </span>'(COUNT(?) + ?) AS ?',
            <span array</span>('some_column', 5, 'bar'),
            <span array</span>(Expression::TYPE_IDENTIFIER, Expression::TYPE_VALUE, Expression::<span TYPE_IDENTIFIER)
        )
    )
);
</span><span //</span><span  'SELECT (COUNT("some_column") + ?) AS "bar" FROM "foo"';
//     array('column1' => 5);
//
// 'SELECT (COUNT("some_column") + \'5\') AS "bar" FROM "foo"';
 
// joins (plain)</span>
<span $select10</span> = <span new</span><span  Select;
</span><span $select10</span>->from('foo')-><span join</span>('zac', 'm = n'<span );
</span><span //</span><span  'SELECT "foo".*, "zac".* FROM "foo" INNER JOIN "zac" ON "m" = "n"';
 
 
// join with columns</span>
<span $select11</span> = <span new</span><span  Select;
</span><span $select11</span>->from('foo')-><span join</span>('zac', 'm = n', <span array</span>('bar', 'baz'<span ));
</span><span //</span><span  'SELECT "foo".*, "zac"."bar" AS "bar", "zac"."baz" AS "baz" FROM "foo" INNER JOIN "zac" ON "m" = "n"';
 
 
// join with alternate type</span>
<span $select12</span> = <span new</span><span  Select;
</span><span $select12</span>->from('foo')-><span join</span>('zac', 'm = n', <span array</span>('bar', 'baz'), Select::<span JOIN_OUTER);
</span><span //</span><span  'SELECT "foo".*, "zac"."bar" AS "bar", "zac"."baz" AS "baz" FROM "foo" OUTER JOIN "zac" ON "m" = "n"';
 
 
// join with column aliases</span>
<span $select13</span> = <span new</span><span  Select;
</span><span $select13</span>->from('foo')-><span join</span>('zac', 'm = n', <span array</span>('BAR' => 'bar', 'BAZ' => 'baz'<span ));
</span><span //</span><span  'SELECT "foo".*, "zac"."bar" AS "BAR", "zac"."baz" AS "BAZ" FROM "foo" INNER JOIN "zac" ON "m" = "n"';
 
 
// join with table aliases</span>
<span $select14</span> = <span new</span><span  Select;
</span><span $select14</span>->from('foo')-><span join</span>(<span array</span>('b' => 'bar'), 'b.foo_id = foo.foo_id'<span );
</span><span //</span><span  'SELECT "foo".*, "b".* FROM "foo" INNER JOIN "bar" AS "b" ON "b"."foo_id" = "foo"."foo_id"';
 
 
// where (simple string)</span>
<span $select15</span> = <span new</span><span  Select;
</span><span $select15</span>->from('foo')->where('x = 5'<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" WHERE x = 5';
 
 
// where (returning parameters)</span>
<span $select16</span> = <span new</span><span  Select;
</span><span $select16</span>->from('foo')->where(<span array</span>('x = ?' => 5<span ));
</span><span //</span><span  'SELECT "foo".* FROM "foo" WHERE x = ?';
//   array('where1' => 5);
//
// 'SELECT "foo".* FROM "foo" WHERE x = \'5\'';
 
 
// group</span>
<span $select17</span> = <span new</span><span  Select;
</span><span $select17</span>->from('foo')->group(<span array</span>('col1', 'col2'<span ));
</span><span //</span><span  'SELECT "foo".* FROM "foo" GROUP BY "col1", "col2"';</span>
 
 
<span $select18</span> = <span new</span><span  Select;
</span><span $select18</span>->from('foo')->group('col1')->group('col2'<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" GROUP BY "col1", "col2"';</span>
 
 
<span $select19</span> = <span new</span><span  Select;
</span><span $select19</span>->from('foo')->group(<span new</span> Expression('DAY(?)', <span array</span>('col1'), <span array</span>(Expression::<span TYPE_IDENTIFIER)));
</span><span //</span><span  'SELECT "foo".* FROM "foo" GROUP BY DAY("col1")';
 
 
// having (simple string)</span>
<span $select20</span> = <span new</span><span  Select;
</span><span $select20</span>->from('foo')->having('x = 5'<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" HAVING x = 5';
 
 
// having (returning parameters)</span>
<span $select21</span> = <span new</span><span  Select;
</span><span $select21</span>->from('foo')->having(<span array</span>('x = ?' => 5<span ));
</span><span //</span><span  'SELECT "foo".* FROM "foo" HAVING x = ?';
//   array('having1' => 5);
//
// 'SELECT "foo".* FROM "foo" HAVING x = \'5\'';
 
 
// order</span>
<span $select22</span> = <span new</span><span  Select;
</span><span $select22</span>->from('foo')->order('c1'<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" ORDER BY "c1" ASC';
 
 
// multiple order parts</span>
<span $select23</span> = <span new</span><span  Select;
</span><span $select23</span>->from('foo')->order(<span array</span>('c1', 'c2'<span ));
</span><span //</span><span  'SELECT "foo".* FROM "foo" ORDER BY "c1" ASC, "c2" ASC';
 
 
// mulitple order parts</span>
<span $select24</span> = <span new</span><span  Select;
</span><span $select24</span>->from('foo')->order(<span array</span>('c1' => 'DESC', 'c2' => 'Asc')); <span //</span><span  notice partially lower case ASC
// 'SELECT "foo".* FROM "foo" ORDER BY "c1" DESC, "c2" ASC';</span>
 
 
<span $select25</span> = <span new</span><span  Select;
</span><span $select25</span>->from('foo')->order(<span array</span>('c1' => 'asc'))->order('c2 desc'); <span //</span><span  notice partially lower case ASC
// 'SELECT "foo".* FROM "foo" ORDER BY "c1" ASC, "c2" DESC';
 
 
// limit</span>
<span $select26</span> = <span new</span><span  Select;
</span><span $select26</span>->from('foo')->limit(5<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" LIMIT ?';
//   array('limit' => 5);
//
// 'SELECT "foo".* FROM "foo" LIMIT \'5\'';
 
 
// limit with offset</span>
<span $select27</span> = <span new</span><span  Select;
</span><span $select27</span>->from('foo')->limit(5)->offset(10<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" LIMIT ? OFFSET ?';
//   array('limit' => 5, 'offset' => 10);
//
// 'SELECT "foo".* FROM "foo" LIMIT \'5\' OFFSET \'10\'';
 
 
// joins with a few keywords in the on clause</span>
<span $select28</span> = <span new</span><span  Select;
</span><span $select28</span>->from('foo')-><span join</span>('zac', '(m = n AND c.x) BETWEEN x AND y.z'<span );
</span><span //</span><span  'SELECT "foo".*, "zac".* FROM "foo" INNER JOIN "zac" ON ("m" = "n" AND "c"."x") BETWEEN "x" AND "y"."z"';
 
 
// order with compound name</span>
<span $select29</span> = <span new</span><span  Select;
</span><span $select29</span>->from('foo')->order('c1.d2'<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" ORDER BY "c1"."d2" ASC';
 
 
// group with compound name</span>
<span $select30</span> = <span new</span><span  Select;
</span><span $select30</span>->from('foo')->group('c1.d2'<span );
</span><span //</span><span  'SELECT "foo".* FROM "foo" GROUP BY "c1"."d2"';
 
 
// join with expression in ON part</span>
<span $select31</span> = <span new</span><span  Select;
</span><span $select31</span>->from('foo')-><span join</span>('zac', <span new</span> Expression('(m = n AND c.x) BETWEEN x AND y.z'<span ));
</span><span //</span><span  'SELECT "foo".*, "zac".* FROM "foo" INNER JOIN "zac" ON (m = n AND c.x) BETWEEN x AND y.z';
 
 
// subselects</span>
<span $select32subselect</span> = <span new</span><span  Select;
</span><span $select32subselect</span>->from('bar')->where->like('y', '%Foo%'<span );
</span><span $select32</span> = <span new</span><span  Select;
</span><span $select32</span>->from(<span array</span>('x' => <span $select32subselect</span><span ));
</span><span //</span><span  'SELECT "x".* FROM (SELECT "bar".* FROM "bar" WHERE "y" LIKE ?) AS "x"';
// 'SELECT "x".* FROM (SELECT "bar".* FROM "bar" WHERE "y" LIKE \'%Foo%\') AS "x"';
 
 
// use array in where, predicate in where</span>
<span $select33</span> = <span new</span><span  Select;
</span><span $select33</span>->from('table')->columns(<span array</span>('*'))->where(<span array</span><span (
    </span>'c1' => <span null</span>,
    'c2' => <span array</span>(1, 2, 3),
    <span new</span> \Zend\Db\Sql\Predicate\IsNotNull('c3'<span )
));
</span><span //</span><span  'SELECT "table".* FROM "table" WHERE "c1" IS NULL AND "c2" IN (?, ?, ?) AND "c3" IS NOT NULL';
// 'SELECT "table".* FROM "table" WHERE "c1" IS NULL AND "c2" IN (\'1\', \'2\', \'3\') AND "c3" IS NOT NULL';
 
 
// Expression objects in order</span>
<span $select34</span> = <span new</span><span  Select;
</span><span $select34</span>->from('table')->order(<span array</span><span (
    </span><span new</span> Expression('isnull(?) DESC', <span array</span>('name'), <span array</span>(Expression::TYPE_IDENTIFIER)),
    'name'<span 
));
</span><span //</span><span  'SELECT "table".* FROM "table" ORDER BY isnull("name") DESC, "name" ASC';
 
 
// join with Expression object in COLUMNS part (ZF2-514)</span>
<span $select35</span> = <span new</span><span  Select;
</span><span $select35</span>->from('foo')->columns(<span array</span>())-><span join</span>('bar', 'm = n', <span array</span>('thecount' => <span new</span> Expression("COUNT(*)"<span )));
</span><span //</span><span  'SELECT COUNT(*) AS "thecount" FROM "foo" INNER JOIN "bar" ON "m" = "n"';
 
 
// multiple joins with expressions</span>
<span $select36</span> = <span new</span><span  Select;
</span><span $select36</span>->from('foo'<span )
    </span>-><span join</span>('tableA', <span new</span> Predicate\Operator('id', '=', 1<span ))
    </span>-><span join</span>('tableB', <span new</span> Predicate\Operator('id', '=', 2<span ))
    </span>-><span join</span>('tableC', <span new</span> Predicate\PredicateSet(<span array</span><span (
        </span><span new</span> Predicate\Operator('id', '=', 3),
        <span new</span> Predicate\Operator('number', '>', 20<span )
    )));
</span><span //</span><span  'SELECT "foo".*, "tableA".*, "tableB".*, "tableC".* FROM "foo" '
//   'INNER JOIN "tableA" ON "id" = :join1part1 INNER JOIN "tableB" ON "id" = :join2part1 '
//   'INNER JOIN "tableC" ON "id" = :join3part1 AND "number" > :join3part2';
//
// 'SELECT "foo".*, "tableA".*, "tableB".*, "tableC".* FROM "foo" '
//   'INNER JOIN "tableA" ON "id" = \'1\' INNER JOIN "tableB" ON "id" = \'2\' '
//   'INNER JOIN "tableC" ON "id" = \'3\' AND "number" > \'20\'';</span>

 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
使用golang进行Select Channels Go并发式编程的异步处理方法使用golang进行Select Channels Go并发式编程的异步处理方法Sep 28, 2023 pm 05:27 PM

使用golang进行SelectChannelsGo并发式编程的异步处理方法引言:并发式编程是现代软件开发中的一个重要领域,它可以有效地提高应用程序的性能和响应能力。在Go语言中,使用Channels和Select语句可以简单而高效地实现并发编程。本文将介绍如何使用golang进行SelectChannelsGo并发式编程的异步处理方法,并提供具体的

jquery如何隐藏select元素jquery如何隐藏select元素Aug 15, 2023 pm 01:56 PM

jquery隐藏select元素的方法:1、hide()方法,在HTML页面中引入jQuery库,可以使用不同选择器来隐藏select元素,ID选择器将selectId替换为你实际使用的select元素的ID;2、css()方法,使用ID选择器选择需要隐藏的select元素,使用css()方法将display属性设置为none,并将selectId替换为select元素的ID。

如何在Zend框架中使用ACL(Access Control List)进行权限控制如何在Zend框架中使用ACL(Access Control List)进行权限控制Jul 29, 2023 am 09:24 AM

如何在Zend框架中使用ACL(AccessControlList)进行权限控制导言:在一个Web应用程序中,权限控制是至关重要的一项功能。它可以确保用户只能访问其有权访问的页面和功能,并防止未经授权的访问。Zend框架提供了一种方便的方法来实现权限控制,即使用ACL(AccessControlList)组件。本文将介绍如何在Zend框架中使用ACL

PHP实现框架:Zend Framework入门教程PHP实现框架:Zend Framework入门教程Jun 19, 2023 am 08:09 AM

PHP实现框架:ZendFramework入门教程ZendFramework是PHP开发的一种开源网站框架,目前由ZendTechnologies维护,ZendFramework采用了MVC设计模式,提供了一系列可重用的代码库,服务于实现Web2.0应用程序和Web服务。ZendFramework深受PHP开发者的欢迎和推崇,拥有广泛

linux要用select的原因是什么linux要用select的原因是什么May 19, 2023 pm 03:07 PM

因为select可以使开发者在同时等待多个文件缓冲区,可减少IO等待的时间,能够提高进程的IO效率。select()函数是IO多路复用的函数,允许程序监视多个文件描述符,等待所监视的一个或者多个文件描述符变为“准备好”的状态;所谓的”准备好“状态是指:文件描述符不再是阻塞状态,可以用于某类IO操作了,包括可读,可写,发生异常三种。select是一个计算机函数,位于头文件#include。该函数用于监视文件描述符的变化情况——读写或是异常。1.select函数介绍select函数是IO多路复用的函

mysql的select语法怎么使用mysql的select语法怎么使用Jun 01, 2023 pm 07:37 PM

1、SQL语句中的关键词对大小写不敏感,SELECT等效于SELECT,FROM等效于from。2、从users表中选择所有列的,可以用符号*代替列的名称。语法--这是注释--从FEOM指定的[表中],查询出[所有的]数据.*表示[所有列]SELECT*FROM--通过从FROM从指定的[表中],查询出指定列名称(字段)的数据SELECT列名称FROM表名称实例--注意:多个列之间,使用英文的逗号来分隔selectusername,passwordfrom

通过golang实现Select Channels Go并发式编程的性能优化通过golang实现Select Channels Go并发式编程的性能优化Sep 27, 2023 pm 01:09 PM

通过golang实现SelectChannelsGo并发式编程的性能优化在Go语言中,使用goroutine和channel实现并发编程是非常常见的。而在处理多个channel的情况下,我们通常会使用select语句来进行多路复用。但是,在大规模并发的情况下,使用select语句可能会导致性能下降。在本文中,我们将介绍一些通过golang实现select

PHP无法识别ZendOptimizer,如何解决?PHP无法识别ZendOptimizer,如何解决?Mar 19, 2024 pm 01:09 PM

PHP无法识别ZendOptimizer,如何解决?在PHP开发中,有时可能会遇到PHP无法识别ZendOptimizer的情况,这会导致部分PHP代码无法正常运行。在这种情况下,我们需要采取一些措施来解决这个问题。下面将介绍一些可能的解决方法,并附上具体的代码示例。1.确认ZendOptimizer是否正确安装:首先,我们需要确认ZendOptimize

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)