最新文章
·Access 2000 数据库 8...
·Web页面中遍历TextBox...
·在ADO使用SELECT语法...
·使用VB编写纯ASP程序
·一种比使用include ad...
·Asp的安全管理(9) ...
·服务器FSO设置教程!防...
·关于内部服务器500错...
·在客户端执行数据库记...
·问题答案
·正则表达式简介(微软...
·使用browser capabili...
相关文章
·用getstring提高ASP运...
·remote script文档(转...
·国内NT主机常见安全漏...
·ASP+中执行简单的Sele...
·在ASP中常见的错误800...
·pCase 函数源程序
·网络考场(17)(转)...
·remote script文档(转...
·Internet Explorer 错...
·ASP精华文摘-003
·用VBS修改IIS Metabas...
·JScript 方法 - exec ...
推荐文章
·Internet开发人员的验...
·设置open方法中的参数...
·用ASP编缉数据库记录
·使用ADSI、ASP和一对...
·ASP创建EXCHANGE用户...
·在ASP中使用FSO组件生...
·表单填写时用 回车 代...
·动网7.0 里的 UBB 和...
·自己开发的email组件...
·IE里的探索之添加工具...
·一个在线交易市场方案...
·global.asa文件总是不...
  您现在的位置: 休闲居 >> 网络学院 >> 网络编程 >> ASP >> 

用联接来查询两个表
  人气: 【字体:大 中 小】
  发布时间:2006-12-22 08:19:06

本文仅作为初学者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 可以来看看。

≡ 查看、发表评论 ≡