时间:2021-07-01 10:21:17 帮助过:44人阅读
如果两张表有外键关系就可以使用内连接,因为通过内连接每一条只能返回单条记录。话句话说如果主查询表的字段通过关联查询表能查到(且只能查询一条,就是在关联表中只能查出一条),可以使用内链接。
举例1:
表:DICTINFO:
如下:
这边表中ID是主键。在这里TYPECODE是外键。
表:DICTTYPE.
如下:
其中TYPECODE是主键。
这样一来两张表就有了主外键的关系(表DICTTYPE的主键TYPECODE在表DICTINFO中是外键)。
好了我们就可以使用内连接了。
为什么上面说通过内连接每一条只能返回单条记录呢?
因为:你想啊,typecode是外键,什么是外键?在表dicttype中typecode是主键,主键是唯一的,那么就是typecode都是唯一的,那么dictinfo.typecode去匹配dicttype里面的
typecode时只有一条记录,这就是说只能返回单条的记录,也就是说如果在dicttype中的codetype不是唯一的,那么就会查出来多条的记录,那么就不是内连接了。
举例2:
再举一个例子:做一个数据查询使用内连接的方式。
假设有两张表sysuser表还有dictinfo表,我们查sysuser表查出了Userid和GroupID如下:
但是我想知道这里的GROUPID到底代表是什么,我们根据表的设计可以从dictinfo表中查到1,2,3,4到底代表什么,比如
好了知道了要求后我们就来使用内连接来实现。
其实