
A表数据
id name
a1 a1name
a2 a2name
____________________
B表数据
id name2
a1 xxxx
a3 xxxxxx
此时,如果关联查询情况中,主要取得A表的数据,即B表对应的数据则为辅助条件(如果B表有匹配数据则数据位A表所有+B表匹配部分,否则只有A表数据),此时则是A左连接B,相反则是A右连接B或B左连接A
建议以 *** 作实际情况练习来理解
1、创建两张测试表,
create table test_cj(name VARCHAR(20), remark varchar2(20))
create table test_kc(name VARCHAR(20), remark varchar2(20))
2、插入测试数据
insert into test_cj values('xh','cj_1')
insert into test_cj values('kcdh','cj_2')
insert into test_cj values('cj','cj_3')
insert into test_kc values('kcdh','kc_1')
insert into test_kc values('kcm','kc_2')
3、查询两张表的总记录数,select t.*, rowid from test_cj t union all select t.*, rowid from test_kc t,
4、编写sql,两张表进行关联,select t.name, t.remark, b.remark from test_cj t, test_kc b where t.name=b.name,可以发现关联出kcdh的记录,
数据库中把两个表关联起来的语句使用的连接语句链接分为内连接,外连接,交叉连接等,外连接分为左外,右外连接
案例:
内链接
select * from student a
inner join stumarks b
on a.stuid=b.stuid
外连接
select * from student a
left join stumarks b
on a.stuid=b.stuid
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)