浅析数据库中内连接、全连接与左右连接的不同点

2023-11-22 13:59

本文主要是介绍浅析数据库中内连接、全连接与左右连接的不同点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首页 技术频道 51CTO旗下网站 地图
<script type="text/javascript" src="http://www.51cto.com/js/jquery-1.4.4.js"></script> <script type="text/javascript">// </script> <script type="text/javascript" src="http://www.51cto.com/head_art_more1.js"></script>

              浅析数据库中内连接、全连接与左右连接的不同点

在这里,我们将讨论的是联合查询的比较。主要是针对内连接、全连接与左右连接的不同点,对比的环境是两个表的联合查询。

AD: <script type="text/javascript" src="http://www.51cto.com/js/article/keywords_ad_new.js"></script>

我们经常用到2个表的联合查询,有时候用到内连接,全连接,以及左右连接,是不是很复杂呢?下面给演示一下他们的区别

首先有以下2个表:

  1. CREATE TABLE weather  
  2. (  
  3.   city character varying(80) NOT NULL,  
  4.   temp_lo integer NOT NULL,  
  5.   temp_hi integer NOT NULL,  
  6.   prcp real,  
  7.   date date 
  8. )  
  9. WITH (  
  10.   OIDS=FALSE 
  11. );  
  12. ALTER TABLE weather OWNER TO postgres;  
  13. -----------------------------------------------------------  
  14.  
  15. REATE TABLE cities  
  16. (  
  17.   "name" character varying(80) NOT NULL,  
  18.   "location" point  
  19. )  
  20. WITH (  
  21.   OIDS=FALSE 
  22. );  
  23. ALTER TABLE cities OWNER TO postgres; 

让我们想看看里面的数据吧

下面就开始内连接了。不用太多的说明,看图片就知道怎么回事了

看到了吗,inner 和 select * from weather,cities where city =name 输出一样的,都是一一对应的输出。这个我喜欢!

下面在看看全连接,左右连接的图片

可以看得出来,全连接呢,就是2个表的所有数据都被列举出来,如果他表中没有对于的数据呢,就补空。

左右连接为全连接的子集(我是这么认为的)左连接以前表为基准,后表没有的数据补控

右连接已后表为基准,前表没有的就补空。

原文链接:http://www.cnblogs.com/yongjun-zou/archive/2010/08/22/1805870.html

(个人理解:内连接 join 要求两个表都有连接的那个值才进入结果表,而左连接只需左表,右连接只需右表,全连接只需其中一表)

 

<script type="text/javascript" language="javascript" src="http://www.51cto.com/js/article/favorite.js"></script> <script type="text/javascript" language="javaScript" src="http://www.51cto.com/php/dialog_utf8.js"></script> <script type="text/javascript" language="javaScript" src="http://www.51cto.com/mail.js"></script> <script type="text/javascript" src="http://home.51cto.com/apps/favorite/Tpl/default/Public/js/favorbox.js"></script> <script type="text/javascript" language="javascript" src="http://images.51cto.com/images/art/newart1012/clipboard.js"></script> <script type="text/javascript" language="javaScript">// </script> <script charset="utf-8" type="text/javascript" src="http://home.51cto.com/index.php?s=/Index/getLoginStatus/reback/http%253A%252F%252Fdatabase.51cto.com%252Fart%252F201008%252F221342.htm"></script> <script type="text/javascript" language="javascript" src="http://www.51cto.com/php/count.php?view=yes&artID=221342"></script> <script type="text/javascript" language="javascript">// </script>

这篇关于浅析数据库中内连接、全连接与左右连接的不同点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410647

相关文章

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de