gpt4 book ai didi

重复查询的 PHP/SQL 语句

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:53 25 4
gpt4 key购买 nike

如果我有一个从语句中选择的 ID 列表

SELECT id FROM myTable WHERE name = 'TEST'

这将只返回 ID(1001、1002、1003 等...)然后我想执行另一个 SELECT 语句来检索所有这些 ID 的所有标题。

SELECT title FROM myTable2 WHERE id = XXXX

table2中的id是table2的外键。 myTable 中的 id 是主键。我怎样才能从这些 id 中检索所有标题。我正在考虑将第一个 select 语句的所有结果存储在一个数组中,然后使用 while 循环遍历列表并将每个结果返回到另一个数组中,但我担心的是当数据库变大时,如果它必须返回 1000 行,这可能是一些不好的开销。那么在 PHP 或 SQL 中执行此操作的最佳方法是什么?

最佳答案

您可以使用子查询:

SELECT title
FROM myTable2
WHERE id IN (
SELECT id
FROM myTable
WHERE name = 'TEST'
)

另一种方法是使用 JOIN,以避免子查询:

SELECT title
FROM myTable2
LEFT JOIN myTable
ON myTable.id = myTable2.id
WHERE myTable.name = 'TEST'

关于重复查询的 PHP/SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9271599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com