欢迎光临
我们一直在努力

用联接来查询两个表-ASP教程,数据库相关

建站超值云服务器,限时71元/月

本文仅作为初学者sql应用备忘录

我们经常要查询两个表中某个字段相同的和不同的记录,用联接来进行查询可以很方便地得到所要的结果。

一、什么是联接

联接:join 表示两个表的关系,我们可以把两个表看成两个集合。假设有两个表,我们用a和b来表示,这两个表有一个或者多个相同的字段。那么,就存在着以下三个不同的集合:

1、交集:两个表中字段相等的记录

2、a交b补:在a中,且相同字段的内容不等于b的记录

3、b交a补:在b中,且相同字段的内容不等于a的记录

二、用联接来查询

join有三种用法与以上三个集合对应

1、交集:inner join 内部联接

2、a交b补:left join 左联接

3、b交a补:right join 右联接

三、实例

现在来看一个实例。有两个表,表一:地址;表二:邮件。

为了简单,两个表都只有一个字段,字段名是“名字”。现在来得到三个集合:

1、在两个表中都有名字的记录

select 地址.名字 as 名字

from 地址 inner join 邮件 on 地址.名字 = 邮件.名字;

2、在地址中有名字且在邮件中没有名字的记录

select 地址.名字

from 地址 left join 邮件 on 地址.名字 = 邮件.名字

where (((邮件.名字) is null));

注:对地址表来说这是左联接,对邮件表来说,这就是右联接

3、在地址中没有名字且在邮件中有名字的记录

select 邮件.名字

from 地址 right join 邮件 on 地址.名字 = 邮件.名字

where (((地址.名字) is null));

注:对地址表来说这是右联接,对邮件表来说,这就是左联接

后面两个也可以写成用邮件表来联接地址表,这就留给大家自己去写吧。bluetooth 和 lz1220 可以来看看。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用联接来查询两个表-ASP教程,数据库相关
分享到: 更多 (0)

相关推荐

  • 暂无文章