两表连接问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:21:39
有一个主表连接一个外表,主表有记录,外表没有记录,两表相连。
要求连接后的表两个表的列都要显示出来,外表没有记录。
SQL 语句怎么写?
选择有个问题,假如这两个表都是临时表?

test1 : id name
1 a
2 b
3 c
4 d
test2 : id address
********
select *
from test1 a, test2 b
where a.id = b.id(+)
结果:
id name id address
1 a
2 b
3 c
4 d

假设A为主表有1,2两个列(多于两列一次类推),B为外表有a,b两个列
SELECT A.1,A.2,B.a,B.b FROM A,B WHERE A.1==B.a;

表与表建立关联,并不在于表有没有记录,而在于两个表必须选择一个关键字段,(比如两个表的学号字段),还有就是两个表之间究竟建立哪种联接,在四种联接类型中,你自己选择一种,如内部联接……

格式如下:
Selece *;
from 表1,表2;
where 表1.字段=表2.字段; (Where有筛选记录和建立联接的功能)
或换作 inner join 表1.字段=表2.字段
……

select * from 表1,表2 where 表1主键 = 表2主键(+)

后两个对,用外连接

用外连接