oracle三表关联,有A、B、C 三个表
A表的a字段和B表的b字段和C表的c字段有关联关系,B表的b字段和C表的C字段也有关联关系,这关联的话,关联条件是否有什么要求?方式一:selectA.a,B.b,C.c...
A表的a字段和B表的b字段和C表的c字段有关联关系,B表的b字段和C表的C字段也有关联关系,这关联的话,关联条件是否有什么要求?
方式一:select A.a,B.b,C.c from A inner join B on A.a = B.b inner join C on A.a = C.c
方式二:select A.a,B.b,C.c from A inner join B on A.a = B.b inner join C on B.b = C.c
方式三:select A.a,B.b,C.c from A inner join B on A.a = B.b inner join C on A.a = C.c and B.b = C.c
这三种有什么区别,是否随意关联两个就OK? 关联条件和外关联没关系吧? 展开
方式一:select A.a,B.b,C.c from A inner join B on A.a = B.b inner join C on A.a = C.c
方式二:select A.a,B.b,C.c from A inner join B on A.a = B.b inner join C on B.b = C.c
方式三:select A.a,B.b,C.c from A inner join B on A.a = B.b inner join C on A.a = C.c and B.b = C.c
这三种有什么区别,是否随意关联两个就OK? 关联条件和外关联没关系吧? 展开
1个回答
展开全部
用来关联的两个字段应该是一样的,比如员工信息表,工资表什么的,他们有共同的字段id。可以用id来关联,而不是三个不同的abc字段,你说他们有联系就能关联的,除非'a' like 'b' like 'c'。而且内连接还有更加清晰简便的方法。比如ABC三表中AB中有共同的m字段,AC中有共同的n字段。select * from A,B,C where A.m=B.m and A.n=C.n *可以替换成这三个表中的任何信息,如果只有一个表中有这个字段,直接写字段名,如果同时又几个表中含有这个字段,写成表名.字段名
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询