|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
本文仅作为初学者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)); 注:对地址表来说这是右联接,对邮件表来说,这就是左联接 后面两个也可以写成用邮件表来联接地址表,这就留给大家自己去写吧。 返回类别: 教程 上一教程: MYSQL的DAEMON启动参数 下一教程: 精通数据库系列之入门-基础篇1 您可以阅读与"用联接来查询两个表"相关的教程: · 跟我学SQL:(四)查询多个表格 · 用INNER JOIN语法联接多个表建记录集 · 数据库查询结果的动态排序(3) · 在SQL2000查询中使用XDR的例子 · 数据库查询结果的动态排序(1) |
| 快精灵印艺坊 版权所有 |
首页 |
||