1、创建三张测试表;
createtabletest_a(aidint,anamevarchar(20))
createtabletest_b(bidint,bnamevarchar(20))
createtabletest_c(aidint,bidint,valuevarchar(20))
2、三张表中分别插入数据;
insertintotest_avalues(1,'aname1')
insertintotest_bvalues(2,'bname1')
insertintotest_cvalues(1,2,'cvalue')
3、查询表中记录;
select10,a.*fromtest_aa
unionall
select20,b.*fromtest_bb
unionall
select*fromtest_cc
4、编写sql,进行三表关联;
selecta.aname,b.bname,c.value
fromtest_ccjointest_aa
onc.aid=a.aid
jointest_bb
onc.bid=b.bid
多表连接主要分成四种:内连接,参与内连接的多张表格,不需要考虑顺序,可以随意排列;
左外连接,确定哪张表的信息要完全显示,就作为左表,放在最左边,与其他表进行左外连接,其他表要依次看哪张表能够和左表直接相连,就放在第二位,再看剩余的表中哪张能与第二张表直接相连,就放在第三位,以此类推;
右外连接,确定哪张表的信息要完全显示,就作为右表,放在最右边,与其他表进行右外连接,其他表要依次看哪张表能够和右表直接相连,就放在右边第二位,再看剩余的表中哪张能与第二张表直接相连,就放在右边第三位,以此类推;
全外连接,基本上用不上。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)