Php 如何在不使用外部联接或不使用任何联接的情况下检索数据?

Php 如何在不使用外部联接或不使用任何联接的情况下检索数据?,php,mysql,join,Php,Mysql,Join,我们如何从多个表中检索数据而不使用mysql中的“左连接”或“右连接”? 或 是否可以使用PHP/Mysql 有些情况下我可以检索数据。例如,当我们使用“两个表”或没有复杂的“WHERE”条件时 但是,当我使用5,6,7---15个表时,这种情况下,我不可能检索数据 谁能帮我一下吗。 提前感谢。 在第一个表上进行搜索 在第二个表上,执行选择*FROM table_2,其中table_2.fk_table_1 IN($pks_FROM_table_one) 继续。。。但这意味着你将进行n查询,往

我们如何从多个表中检索数据而不使用mysql中的“左连接”或“右连接”? 或 是否可以使用PHP/Mysql

有些情况下我可以检索数据。例如,当我们使用“两个表”或没有复杂的“WHERE”条件时

但是,当我使用5,6,7---15个表时,这种情况下,我不可能检索数据

谁能帮我一下吗。 提前感谢。

  • 在第一个表上进行搜索
  • 在第二个表上,执行
    选择*FROM table_2,其中table_2.fk_table_1 IN($pks_FROM_table_one)

继续。。。但这意味着你将进行
n
查询,往返于数据库-我听说一些公司禁止
加入
s,有时确实更好-但我还没有这样做,也不推荐这样做。

假设你有食物和人。你想得到人们喜欢的食物

食品:id,食品名称

人物:身份证、姓名、食物号

此处的food_id指foods表中的id字段

简单地做:
选择people.name,food.food\u name FROM people,foods WHERE people.food\u id=foods.id

您可以通过添加子查询而不使用任何JOIN语句来实现这一点,在我给您的示例中,有三个表被用来提取我们客户的用户,他们的装载量小于或等于999,请查看

Select TUsers.names TCustomers.names 
FROM TUsers, TCustomers
Where TUsers.id = TCustomer.id AND TCustomers.id IN
(Select TCustomer.id
FROM TCustomer
WHERE TCustomer.amount >= 999)
如果有帮助,请评分:)

您可以使用“别名”而不是“加入”

假设你有4张桌子

语法:

Select * from Table1 A, Table2 B, Table3 C, Table4 D
where A.id= B.id and A.city=C.city and B.subject=D.subject

您的问题是如何在不使用外部联接或不使用任何联接的情况下检索数据?请告诉我们您为什么有这样的要求。根据我的理解,在从多个表获取数据时使用join总是很好的。您可以在连接处使用EXISTS子句。您好,eggyal是的,我需要这样的问题和答案。如何在不使用外部连接或任何连接的情况下检索数据?感谢“fmarton”的回复。但是我的老板告诉我,只对每个表执行单独的“选择”查询,并使用php数组合并功能,而不使用任何类型的连接查询。没有背景,很难判断原因,但是查询mysql将比使用php更快、更有效。那嵌入式选择呢?它仍然在mysql中,您可以清楚地看到结果,每一列都是一个选择。但是,只有在所需结构允许的情况下才适用。您使用的是交叉连接(代码>,
运算符)。您使用的是交叉连接(代码>,
运算符)。您好,Tudor Constantin,谢谢您的回复。你的解释是对的。就个人而言,我也不建议这样做。