相关疑难解决方法(0)

SQL查询从多个表返回数据

我想知道以下内容:

  • 如何从我的数据库中的多个表中获取数据?
  • 有什么类型的方法可以做到这一点?
  • 什么是联盟和联盟?它们如何彼此不同?
  • 我应该何时使用每一个与其他人相比?

我打算在我的(例如 - PHP)应用程序中使用它,但不想对数据库运行多个查询,我有什么选项可以从单个查询中的多个表中获取数据?

注意:我正在写这篇文章,因为我希望能够链接到我在PHP队列中经常遇到的众多问题的精心编写的指南,因此我可以在发布答案时链接到此以获取更多详细信息.

答案涵盖以下内容:

  1. 第1部分 - 联接和联盟
  2. 第2部分 - 子查询
  3. 第3部分 - 技巧和有效代码
  4. 第4部分 - From子句中的子查询
  5. 第5部分 - John's Tricks的混合包

mysql sql select

425
推荐指数
6
解决办法
78万
查看次数

括号改变函数调用结果的语义

另一个问题中指出,在括号中包装PHP函数调用的结果可以某种方式将结果转换为完全成熟的表达式,以便以下工作:

<?php
error_reporting(E_ALL | E_STRICT);

function get_array() {
   return array();
}

function foo() {
   // return reset(get_array());
   //              ^ error: "Only variables should be passed by reference"

   return reset((get_array()));
   //           ^ OK
}

foo();
Run Code Online (Sandbox Code Playgroud)

我试图在文档中找到任何内容,以明确无误地解释这里发生的事情.与C++不同,我不太了解PHP语法及其语句/表达式的处理方法,以便自己派生它.

有关此行为的文档中是否隐藏了任何内容?如果没有,其他人可以解释它而不诉诸假设吗?


更新

我首先发现这个EBNF声称代表PHP语法,并试图自己解码我的脚本,但最终放弃了.

然后,使用phc生成.dot两个foo()变体的文件,我使用以下命令为两个脚本生成 AST图像:

$ yum install phc graphviz
$ phc --dump-ast-dot test1.php > test1.dot
$ dot -Tpng test1.dot > test1.png
$ phc --dump-ast-dot test2.php > test2.dot
$ dot -Tpng …
Run Code Online (Sandbox Code Playgroud)

php php-internals

52
推荐指数
1
解决办法
2364
查看次数

标签 统计

mysql ×1

php ×1

php-internals ×1

select ×1

sql ×1