执行包含两个 SELECT 查询的 PDO 语句的结果是什么?

发布于 2024-10-22 00:17:09 字数 353 浏览 3 评论 0原文

如果 PDO 中的语句包含两个选择查询,执行该语句的结果是什么?考虑这个表:

A    B
------
a    1
b    2
c    3
d    4
e    5
f    6

以及这个 PDO 查询:

$sql = $pdo->prepare("
    SELECT A FROM Table WHERE B > 3;
    SELECT A FROM Table WHERE B < 3;
");
$sql->execute();

$sql->fetchAll() 将返回什么?

What is the result of executing a statement in PDO if it contains two select queries? Consider this table:

A    B
------
a    1
b    2
c    3
d    4
e    5
f    6

and this PDO query:

$sql = $pdo->prepare("
    SELECT A FROM Table WHERE B > 3;
    SELECT A FROM Table WHERE B < 3;
");
$sql->execute();

What will $sql->fetchAll() return?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

2024-10-29 00:17:09

您正在执行包含 2 个 SELECT 查询的语句,$sql->fetch() 将仅返回第一个语句的结果。

You are executing a statement with 2 SELECT queries, $sql->fetch() will return the results from the 1st statement only.

宣告ˉ结束 2024-10-29 00:17:09

使用 UNION ALL 组合查询,

如下所示:

SELECT A FROM Table WHERE B > 3;     
UNION ALL
SELECT A FROM Table WHERE B < 3;

第一个 select 语句返回 A 的记录 d、e、f。
第二条语句返回 A 的 a,b。
结果被组合成一个单一的返回

d,e,f,a,b

现在我可以表达我的观点了;)(开个玩笑)

Combine queries using UNION ALL

Like so:

SELECT A FROM Table WHERE B > 3;     
UNION ALL
SELECT A FROM Table WHERE B < 3;

First select statement returns the records d,e,f for A.
Second statement returns a,b for A.
The result is combined into one single return

d,e,f,a,b

Now can I have my points ;) (just kidding)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文