首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询一个查询- MySQL和PHP

查询一个查询- MySQL和PHP
EN

Stack Overflow用户
提问于 2011-08-08 03:11:29
回答 2查看 11.7K关注 0票数 6

最近我试图做一个项目,这让我问了这个问题。尽管从那以后,我找到了另一种解决方案,但我仍然很好奇,我设想做的事情在任何方面都是可能的。

从本质上讲,我想知道是否存在对php.中的查询结果执行MySQL查询的问题,例如:

代码语言:javascript
复制
$result = mysql_query("SELECT * FROM foo WHERE bar=".$barValue);

然后,能够在$result上执行多个查询。

代码语言:javascript
复制
$newResult = mysql_query("SELECT * FROM $result WHERE otherBar=".$barValue);

代码语言:javascript
复制
$otherNewResult = mysql_query("SELECT * FROM $result WHERE otherOtherBar=".$barValue." ORDER BY foobar ASC");

等等等等..。

我意识到我可以用新的WHERE语句和ORDER BY添加原始查询,但这导致我不必要地查询数据库,并且它阻止了我编写更多面向对象的代码(因为我不能传递查询结果,而是必须在每个函数中请求数据库……)

任何建议、代码片段、框架或杂乱无章的内容都值得赞赏。

*BTW,我的项目是查询出生在某些年龄组的人的大型数据库,然后查询这些年龄组的不同人口。

编辑

不,编写一个自定义函数来查询数据库是不值得的,它会给我带来面向对象(和可修改性)的价值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-08 03:17:16

您可以在同一个SQL查询中执行嵌套查询,并将PHP排除在外:

代码语言:javascript
复制
'SELECT * FROM (SELECT * FROM foo WHERE bar="something") AS q1 WHERE q1.bar2 = "something else"'
票数 9
EN

Stack Overflow用户

发布于 2016-11-23 09:03:18

这个问题已经回答了。然而,下面的解释将帮助那些可能有兴趣了解它的细节的人。

什么是嵌套查询/子查询:

子查询也称为嵌套查询。子查询是另一个语句中的SELECT语句。MySQL支持所有的SQL标准,另外还提供了特定于MySQL的特性。

为什么我要使用Subquery:

statement

  • Subquery的
  1. 子查询是结构化的,可以隔离的每个部分,因为复杂联接和
    1. 提供了执行操作的替代方法,否则需要复杂连接和联合

子查询返回的内容:

子查询可以返回单个值、一行、单个列或表。这些查询称为标量、列、行和表子查询。

参考资料:http://dev.mysql.com/doc/refman/5.7/en/subqueries.html http://www.w3resource.com/sql/subqueries/nested-subqueries.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6977408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档