两张表有共同字段,但不是主外键关系,就比如AB两张表都有Name这个字段,但他门不是主外键关系,并且这两张表除了有Name这个共同字段,在没有其他联系,我如果要连查的话请问该怎么办?请高手指点一下,谢了。
加了外键就存在约束、 如果不满足约束报错。 没有外键随便怎么加不会报错,就是没有满足条件查找不到数据。
直接把A表的Name字段与B表的Name字段的值作条件比较。
Select A.* from A inner join B where A.Name=B.Name and ...
嗯,我刚才也试过了,可以。但是这种和有主外键的作条件比较有啥区别呀
@李晋: 外键只是你心中的一个关系而已,不设置外键,只要数据有这个关系,并且你心中也有这个关系,他们之间就没有多少区别。
我知道咋写 我是说像这种不是主外键的AName=BName和如果Name是主外键关系的有啥区别
有主外键时,数据表会更严谨一些,数据会更安全一些;没有主外键,数据照样可以建立关系,联合查询;如果要通过某个列名去作关联条件,列名称可以不一样,但数据类型必须是一样的;所以说,你可以通过name这个字段去作条件进行联合查询。。。