如何利用查询将三个表的数据合在一起

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:28:25
下面三个表数据如下:
年级 班别
一年级 一(1)班
一年级 一(2)班
NULL 一年级新生
第二个表
年级 班别
一年级 一年级新生
第三个表
年级 学费
一年级 50

通过查询显示如下
年级 班别 学费
一年级 一(1)班 50
一年级 一(2)班 50
一年级 一年级新生 50
要使用查询,将3个表的数据融合.
表未详细现补充如下
年级 班别
一年级 一(1)班
一年级 一(2)班
null 一年级新生
二年级 二(1)班
二年级 二(2)班
null 二年级新生
表二
年级 学费
一年级 50
二年级 45
表三
年级 班别
一年级 一年级新生
二年级 二年级新生
得出结果
年级 班别 学费
一年级 一(1)班 50
一年级 一(2)班 50
一年级 一年级新生 50
二年级 二(1)班 45
二年级 二(2)班 45
二年级 二年级新生 45

四,五楼的兄弟测试过了没有,我测试,都不得结果的,以上是更详细的表,望补充.

select a.年级,a.班别,b.学费 from (select 年级,班别 from table1 union all select 年级,班别 from table2) a,table2 b where a.年级=b.年级

我帮你试下,你等一下。
用left join左联结。

select a.年级,a.班别,b.学费 from (select 年级,班别 from 表1 left join 表3 on 表1.年级=表3.年级) a,表2 b where a.年级=b.年级

select a.年级,a.班别,c.学费
from table1 a
join table2 b on a.年级=b.年级 and a.班别=b.班别
join table3 c on a.年级=c.年级

您想一次查三个表的数据
就利用
select * from table1name,table2name,table3name
这条语句就行了。

通过用外键连接三个表就可以了!