我有三个表table1,table2,table3
Table1
user ID,name, class, rollno, maths, English, literature
Table2
User ID, name, class, rollno, maths, English, physics
Table3
User ID, name, maths, English, geography
查询mysql以获取一个不同结果的最佳方法是什么$ query =“ select * from table1,其中class ='class和rollno ='rollno'联盟从table2中选择*,其中class ='class和rollno ='rollno'联盟从表3中选择*,其中class ='class和rollno ='rollno'“;当我这样做时,它不起作用
很难从您的问题中了解如何构建结果集,但是一般而言,在sql中组合结果的主要方法有两种:join和union。
join
表示获取两个数据集并以一种方式连接它们,即结果中的每一行将包含两个数据集中的列,并且结果将通过某个共享列进行连接。在您描述的表结构中,可以使用userId组合结果,从而为您提供具有userId,地理位置(来自table1)和物理(来自table2)的行]
union
表示获取两个数据集并以每行来自一个表的方式连接它们,结果只是表1的所有行+表2的所有行(有或没有重复项)。这里的限制是两个数据集应包含相同的列。例如,在您的表中,可以从所有三个表中获取userId,名称和数学。