使用SQL语句 INNER JOIN 联接表

时间:2008-04-27 20:31:00 

在SQL中,很多威力都来自于将几个表或查询中的信息联接起来,并将结果显示为单个逻辑记录集的能力。在这种联接中包括INNER、LEFT、RIGHT这三种JOIN操作。

首先我们来讲讲INNER JOIN 的用法:INNER JOIN 语句可以用来组合两个表中的记录,只要在公共字段之中有相符的值即可,在语法上,INNER JOIN 是这样定义的。


  举个例子:我们现在要将“图书资料表”和“出版社资料表”联接起来,然后列出出版社所出的图书。让我们先看看这两个表:

 


  然后在SQL设计视图中输入以下内容


  现在我们执行这个SQL语句:


  发现现在的查询结果将所有出版社和图书都列了出来。
  这个查询好像也可以用下面的语句来实现。


  将两个查询都切换到数据表视图后我们会发现两个查询的查询结果虽然一样,但在使用INNER JOIN操作的查询中可以添加新的数据。就像在表中添加数据一样。而没有使用INNER JOIN 操作的查询就不能添加新数据,相比之下使用INNER JOIN操作的查询更像将两个具有相关内容的表联接在一起新生成的表。

知道了它的用处,我们来看看LEFT JOIN 的结构:
FROM [表名1] LEFT JOIN [表名2] ON [表名1.字段A] 〈关系运算符〉[表名2.字段B]

其实LEFT JOIN 的功能就是将LEFT左边的表名1中的所有记录全部保留,而将右边的表名2中的字段B与表名1.字段A相对应的记录显示出来。而RIGHT JOIN 和LEFT JOIN 相反。

所以刚才的那个例子还可以写成:


  单击工具栏上的“执行”按钮,我们看到这时显示的数据表和刚才显示的用LEFT JOIN 的数据表一样。现在看出来了吧,原来它们的功能是可以互换的。

如果想将几个表联接起来,在JOIN操作中我们可以进行嵌套操作,有三个表:表1、表2、表3,现在将三个表联接起来:

FROM (表1 INNER JOIN 表2 ON 表1.序号=表2.序号)INNER JOIN 表3 ON 表1.序号=表3.序号

这样这三个表就联接起来了。

标签:表,INNER,JOIN,联接,sql
0
投稿

猜你喜欢

  • python如何通过闭包实现计算器的功能

    2023-10-04 06:08:06
  • Python Flask实现后台任务轻松构建高效API应用

    2021-09-25 01:37:43
  • jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解

    2024-04-16 08:54:20
  • Python结合ImageMagick实现多张图片合并为一个pdf文件的方法

    2021-01-28 20:36:55
  • Python+Matplotlib实现绘制三维折线图

    2021-05-21 22:15:50
  • Python抓取通过Ajax加载数据的示例

    2023-12-09 21:28:38
  • .Net行为型设计模式之访问者模式(Visitor)

    2024-05-13 09:18:14
  • 基于PyQt5制作Excel文件数据去重小工具

    2023-10-14 05:44:58
  • go语言静态库的编译和使用方法

    2024-05-09 09:40:05
  • 使用python PIL库实现简单验证码的去噪方法步骤

    2022-05-05 00:48:46
  • React开发进阶redux saga使用原理详解

    2023-08-06 09:08:33
  • vue中插件和组件的区别点及用法总结

    2024-05-09 09:30:07
  • mysql 8.0.22 zip压缩包版(免安装)下载、安装配置步骤详解

    2024-01-15 21:19:16
  • PyTorch 随机数生成占用 CPU 过高的解决方法

    2021-09-23 09:12:31
  • Go语言reflect.TypeOf()和reflect.Type通过反射获取类型信息

    2024-04-23 09:38:27
  • 高亮闪烁某个元素的js脚本

    2024-04-16 09:04:27
  • 浅谈JavaScript Date日期和时间对象

    2024-05-03 15:58:01
  • Django利用AJAX技术实现博文实时搜索

    2023-01-02 01:57:50
  • python读取csv文件示例(python操作csv)

    2023-02-28 23:12:02
  • Python入门篇之面向对象

    2023-10-19 16:31:51
  • asp之家 网络编程 m.aspxhome.com