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

时间:2012-05-08 11:11:41

标签: php mysql join

如何在不使用mysql中的“LEFT JOIN”或“RIGHT JOIN”的情况下从多个表中检索数据? 要么 是否可以使用PHP / Mysql?

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

但是当我使用5,6,7 ---- 15表格时,我无法回溯数据。

请任何人帮助我。 谢谢你。

4 个答案:

答案 0 :(得分:1)

  • 在第一张表上搜索
  • 在第二个表格上执行SELECT * FROM table_2 WHERE table_2.fk_table_1 IN ($pks_from_table_one)

然后继续...但这意味着您将进行n次查询,n往返数据库 - 我听说有些公司禁止JOIN次它确实更好 - 但我还没有这样做,也不推荐它。

答案 1 :(得分:1)

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

食物:id,food_name

人:id,name,food_id

food_id这里是指食物表中的id字段。

简单地说: SELECT people.name,food.food_name FROM people,foods WHERE people.food_id = foods.id

答案 2 :(得分:0)

您可以通过添加子查询而不使用任何JOIN语句来实现此目的,在示例中我给出了三个表来提取作为我们客户的用户并且他们的mount小于或等于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)

评价是否有帮助:)

答案 3 :(得分:0)

您可以使用“别名”代替“加入”。

假设你有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