关于Access的左连接

2023-05-16

    这篇随笔没有什么深奥的技术要讨论,只是自己一个知识上的盲点:不知道在Access中如何进行左连接的操作。通过在网上搜索,最后在CSDN上找到了自己要的答案,因此觉得有必要记录下来:)
    最近做项目,要将一个Access中的数据导入到Oracle中。刚开始我以为用SQL-Server的导入导出工具就可以轻松搞定的,随后才发现有的字段信息不是直接导入过来就ok的,于是又只好自己敲个程序来搞定了。
    先把问题列出来:如下图所示,一目了然,无需其他废话了。


    所以一并在这里将Oracle的左连接的操作也写一下,算是小小的总结吧,Oracle的左连接SQL语句如下:
SELECT  CorpName , Labor , Acreage , Detail  FROM  A , B  WHERE  B.ID  =  A.ID (  +  )  ORDER   BY  B.ID ASC
 
   Access的左连接SQL语句如下:
SELECT  CorpName , Labor , Acreage , Detail  FROM LEFT JOIN ON B.ID  =  A.ID  ORDER   BY  B.ID  ASC

    由此也就不难推出相应的右连接操作的方法了。
    问题是很容易就解决了,可是新的疑问又来了,这两种不同的用法分别都支持什么数据库呢?他们之间性能有什么优劣之分么?于是又开始上网狂找了一通,大致理出来了自己的一点想法,也可能不对,还请各位指点则个!
    有部分内容是从网上抓下来的,可是没有找到出处,致敬先!

 一、关于外连接(Outer Join) 

    SQL-92标准(SQL 标准的正式名称是ISO/IEC 9705 "Database Language SQL"。最近的一个版本被称作ISO/IEC 9075:2003或简称为SQL:2003。这个版本之前的是SQL:1999 和SQL-92。有兴趣的可以去这里SQL Standards看看不同的标准以及它们之间的差异)所定义的FROM子句的连接语法格式为:
    FROM join_table join_type join_table [ON (join_condition)]点击下载SQL92StandardJoinSyntax.pdf 

  其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多个表操作,对同一个表操作的连接又称做自连接。join_type 指出连接类型,可分为三种:内连接(Inner Join)、外连接(Outer Join)和交叉连接(Cross Join)。
    对于外连接,MS SQL-Server支持两种形式:
            1、从Sybase继承来的形式
                  字段1 *= 字段2 (左连接)
                  字段1 =* 字段2 (右连接)
                   这种形式没有全外连接方式
            2、标准的外连接语法
                   left [outer] join on EXPRESSION
                   right [outer] join on EXPRESSION
                   full [outer] join on EXPRESSION
    而对Oracle来说,在8i的时候,Oracle的外连接方式只有两种:即左/右连接,到了9i以后,Oracle也支持了标准的外连接语法,因而它也是两种方式
            1、字段1=字段2(+) (左连接)
                  字段1(+) = 字段2 (右连接)
                  这种形式也没有全外连接方式
            2、标准的外连接语法
                   left [outer] join on EXPRESSION
                   right [outer] join on EXPRESSION
                   full [outer] join on EXPRESSION
    这里只对MS SQL Server和Oracle进行了比较,对于其他的一些数据库如MySQL , PostgreSQL等就没有一一列出了。
二、关于Join操作的可能优化方法
     我觉得所谓的优化,还是一个见仁见智的问题,需要根据实际的情况来进行定夺。由于自己的经验很少,只能浅浅的说一些很常见的可以优化的地方,如果理解有误,就请大家多多指点^_^
    1、对于要经常进行Join操作的多个表(尤其是数据量比较大的表),在其join操作的字段上每个表都应当建立索引;
    2、在SELECT后面不要直接就一个SELECT *,而只要SELECT你需要用到的Columns就够了;
    3、对于要进行join操作的表的字段应该是那种unique值居多的字段为好;
    写到这儿的时候,自己真的是想不到其他的了,于是又去网上搜索了一下关于join  performance的文章,结果真找到了一篇比较好的文章(不过是English Version),我的很多想法文章里面都包括了,文章主要是讲的MS SQL Server中join  performance的问题,但我觉得还是有普遍意义的。
    大家可以到这儿看看http://www.sql-server-performance.com/tuning_joins.asp

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于Access的左连接 的相关文章

  • 【K210】K210学习笔记五——串口通信

    K210 K210学习笔记五 串口通信 前言K210如何进行串口通信K210串口配置K210串口发送相关定义K210串口接收相关定义K210串口发送接收测试 完整源码 前言 本人大四学生 xff0c 电赛生涯已经走到尽头 xff0c 一路上
  • C++类与对象笔记十二:运算符重载三:递增运算符重载

    先看看系统自带的递增运算符 43 43 递增运算符重载 43 43 xff1b a 43 43 43 43 a int a 61 10 cout lt lt 43 43 a lt lt endl 11 先加 xff0c 后输出 cout l
  • C++类与对象笔记十四:多态六:虚析构和纯虚析构

    多态使用时 xff0c 如果子类中有属性开辟到堆区 xff0c 那么父类指针在释放时无法调用子类的析构代码 即 xff1a 父类指针无法调用子类实例对象内的析构函数 造成堆区内存泄漏 解决方案 将父类中的析构函数改为虚析构或者纯虚析构 虚析
  • PCL笔记九:采样一致性

    模型拟合 xff1f 采样一致性的目的 xff1a 用于排除错误的样本 基于采样一致性算法的应用主要是对点云进行分割 xff0c 根据不同设定的几何模型 xff0c 估计对应的几何模型的参数 xff0c 在一定允许误差范围内分割出在模型上的
  • ubuntu下安装gfortran

    找官网 xff1a GFortranBinaries GCC Wiki 找到GNU Linux 找到Download xff0c 点击蓝色链接下载 此外有installtion instructions安装步骤 Gfortran Binar
  • 面试可能会问六:智能指针

    先看一下百度百科的解释 xff1a 指针指针 当类中有指针成员时 xff0c 一般有两种方式来管理指针成员 xff1a 一是采用值型的方式管理 xff0c 每个类对象都保留一份指针指向的对象的拷贝 xff1b 另一种更优雅的方式是使用智能指
  • C++笔记:指针转向(重新赋值)时的问题;重复释放;原地址遗漏释放;赋值运算符重载operator=;

    一个类默认会创建4个函数 xff1a 默认构造 拷贝构造 析构 和operator 61 函数 最后一个就是赋值运算符重载 xff0c 可以进行简单的值传递 注意 xff1a 这个是值传递 问题就在这 xff1b 还有一种传递叫 xff1a
  • C++笔记:虚继承

    虚继承解决的是菱形继承 Animal下派生出Sheep和Tuo类 动物基类下 xff0c 有两个派生类 xff0c 一个是羊类 xff0c 一个是驼类 这两个类都继承了Animal的一个属性 xff0c 比如m age 这样就导致资源的浪费
  • Ubuntu 搭建文件服务器(Nginx)

    1 xff0c 下载Nginx 2 xff0c 安装Nginx 3 xff0c Nginx指令及脚本使用 4 xff0c 配置Nginx 1 xff0c 下载Nginx 去官网下载对应的Nginx版本 nginx download 直接在u
  • WS2812灯珠(四)---实现全彩呼吸灯效果

    WS2812灯珠实现呼吸灯效果主要涉及到呼吸函数及颜色模型两部分的内容 清楚了这两点结合之前的灯珠驱动程序 xff0c 便可以实现任意颜色的呼吸变换效果了 呼吸函数 具体的呼吸函数细节这里就不介绍了 xff0c 感兴趣的可以自行搜索 这里下
  • 浅谈Marlin2.0

    简介 marlin固件发展至今已经形成了三个比较重大的版本 xff1a 1 0版 xff0c 1 1版 xff0c 2 0版 我接触marlin固件已经有一段时间了 xff0c 原来一直对于marlin固件的结构和应用平台一直不是很理解 x
  • uni-app多平台融合【入门】(标贝科技)

    标贝科技 https ai data baker com source 61 qwer12 填写邀请码fwwqgs xff0c 每日免费调用量还可以翻倍 uni app多平台融合 入门 标贝科技 xff09 一 uni app介绍 uni
  • vscode开发STM32(三)---调试篇

    vscode开发STM32 xff08 三 xff09 调试篇 文章目录 vscode开发STM32 xff08 三 xff09 调试篇前提条件配置调试配置JLink使用 96 JLinkGDB 96 进行调试配置stlink使用openO
  • CANopen资料收集

    CANopen资料收集 文章目录 CANopen资料收集开源CANopen协议栈1 CanFestival2 CANopenNode 3 canopen stack CIA官网canopen说明 https www can cia org
  • Modbus资料收集

    Modbus资料收集 文章目录 Modbus资料收集开源Modbus协议栈1 FreeModbus2 uc Modbus 开源Modbus协议栈 1 FreeModbus 网站 xff1a https www embedded expert
  • CANopenNode学习笔记(一)--- README翻译

    CANopenNode学习笔记 文章目录 CANopenNode学习笔记特性CANopen其他 CANopenNode 流程图文件结构对象字典编辑器 CANopenNode 是免费开源的CANopen协议栈 CANopen是建立在CAN基础
  • STM32驱动MAX6675读取K型热电偶温度

    MAX6675 进行热电偶冷端补偿和数字化 K 型热电偶信号 输出 12 位分辨率 SPI 兼容 只读的数据 转换器的精度为 0 25 xff0c 最高可读 43 1024 xff0c 如果使用数据的 8LSB 则温度范围为 0 到 43
  • WS2812灯珠(二)-- STM32 SPI+DMA方式驱动

    通过硬件SPI的可以很巧妙的模拟出WS2812的通信时序 xff0c 用spi的8位数据模拟ws281x的一位数据 要将系统时钟设置为56M xff0c SPI分频数设置为8 xff0c 则SPI的通信频率为7M xff0c 1s 7M 1
  • ESP8266(一)---引脚定义&接线说明

    一 引脚定义 xff1a FunctionDescriptionURXDUART RXD xff0c 接收UTXDUART TXD xff0c 发送RST外部Reset信号 xff0c 低电平复位 xff0c 高电平工作 xff08 默认高
  • STM32编码器模式详解(一)---理论

    一 编码器接口模式 选择编码器接口模式的方法是 xff1a 如果计数器只在TI2的边沿计数 xff0c 则置TIMx SMCR寄存器中的SMS 61 001 xff1b 如果只在TI1边沿计数 xff0c 则置SMS 61 010 xff1

随机推荐

  • STM32使用虚拟示波器

    STM32使用虚拟示波器 在调试过程中 xff0c 经常会有需要看到数据实时变化的情况 xff0c 这时候便需要用到虚拟示波器 如 xff1a 制作平衡车时 xff0c 需要了解拟合角度跟随加速度计和陀螺仪的动态变化情况 xff1b 做电机
  • STM32驱动多个超声波模块(只用一个定时器)

    用STM32单片机成功驱动一个超声波模块后 xff0c 接下来便有了疑问如何用stm32单片机驱动多个超声波模块呢 xff1f xff08 驱动一个超声波模块可以参考 xff1a stm32驱动超声波模块测距 xff09 超声波模块型号为H
  • 《SPARK官方教程系列》(标贝科技)

    1 概述 Apache Spark是一个用于大规模数据处理的统一分析引擎 xff0c 它在Java Scala Python和R中的提供了高级api xff0c 以及一个支持通用执行图 general execution graphs 的优
  • linux 在Terminal中打开桌面中的文件夹 nautilus命令; mac 在Terminal中打开桌面中的文件夹 open命令

    图形用户界面 xff08 Graphical User Interface xff0c 简称GUI xff0c 又称图形用户接口 xff09 是指采用图形方式显示的计算机操作用户界面 一 xff0e 在Linux系统中 nautilus 打
  • C/C++文件的编译过程

    在Windows下使用VS VC等编译器 xff0c xff08 其实VS只是编码器 xff0c 在幕后是CL编译器在帮助其编译 xff09 编译C C 43 43 文件我们并不能直观的看到详细过程 xff0c 编译器直接自动编译 其实在L
  • 如何使用带有用户名密码认证的HTTP(S)代理?保姆级教程来了!

    当我们在日常应用HTTP代理的时候 xff0c 终端IP不固定的情况下 xff0c 或者需要多机器同时使用HTTP代理时 xff0c 就会遇到一个问题 xff1a 如何使用带有用户名密码认证的HTTP S 代理 xff1f 按照下列步骤 x
  • PotPlayer的官网

    访问 PotPlayer 的官网 xff0c 需要先能访问到外面的网络 http potplayer tv http potplayer daum net 如果无法访问外面的网络 xff0c 可以使用下面的阿里云盘链接 阿里云盘分享
  • 为什么C++支持重载而C语言不支持重载

    一个函数在C 43 43 中能够被重载 xff0c 但是在C语言确不能被重载的 xff0c 是由于函数名在内存中存储方式不同所导致的 C语言 例如在C语言中 xff0c 有以下三个函数 xff0c 只给声明不给定义 xff01 span c
  • 2020-08-07

    上拉电阻 画红框标记的就是上拉电阻 概念 xff1a 上拉电阻的概念就是一端连接电源正极 xff0c 一端连接到输出口 xff0c 如果没有这个电阻 xff0c 那么电源和输出口就没有直接连接关系 它的作用如上图 xff0c 它可以避免I
  • extern "C" 含义

    extern 34 C 34 含义 extern 34 C 34 被 extern 限定的函数或变量是 extern 类型的 被 extern 34 C 34 修饰的变量和函数是按照 C 语言方式编译和链接的 extern 34 C 34
  • 77. Combinations

    Given two integers n and k return all possible combinations of k numbers out of 1 n For example If n 61 4 and k 61 2 a s
  • 基于STM32的串口通讯

    基于STM32的串口通讯 设备之间通信的方式 串行通信一般是以帧格式传输数据 xff0c 即一帧一帧的传输 xff0c 每一帧都含有起始信号 xff0c 数据信息以及停止信息等 并行通信 数据各个位同时传输 xff0c 速度快 xff0c
  • C语言的艺术之——头文件

    好记性不如烂笔头o o 系列的文章 xff1a C语言的艺术之 头文件 C语言的艺术之 函数 C语言的艺术之 标识符命令与定义 C语言的艺术之 变量 C语言的艺术之 注释 C语言的艺术之 排版与格式 C语言的艺术之 安全性 编码原则 xff
  • 图像高斯分布生成

    给定一些标记点的坐标 xff0c 希望生成其在图像中的高斯分布图 首先 xff0c 上公式 xff1a 不造怎么上公式 嗯稍后学习学习再补充 span class hljs keyword import span numpy span cl
  • 编译原理----词法分析设计

    程序设计实验1 词法分析 一 实验目的 xff1a 通过设计编制调试一个具体的词法分析程序 xff0c 加深对词法分析原理的理解 并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法 二 实验内容 编制一个单词获取程序
  • wwwwwwwwwwwwwwwwwww

    wwwwwwwwwwwwwwwwwwwww
  • C++成员变量的初始化

    类对象的构造顺序是这样的 xff1a 1 分配内存 xff0c 调用构造函数时 xff0c 隐式 xff0f 显示的初始化各数据成员 2 进入构造函数后在构造函数中执行一般计算 1 类里面的任何成员变量在定义时是不能初始化的 2 一般的数据
  • 【BUG解决】使用body-parser失效的实例解决

    前言 最近在使用express框架写Node代码 xff0c 遇到一个问题使用body parser模块失效 整整困在这里一天时间 xff01 xff01 xff01 res send req body 返回结果一直为空 但是代码的书写又看
  • BOCHS问题总结篇

    在官网上下载的bochs 2 4 5 win32版 bochs启动时会读bochsrc bxrc里的配置 xff0c 而bochsrc sample txt则是个sample xff0c 可以在这个sample里阅读相关参数的设置 1 RO
  • 关于Access的左连接

    这篇随笔没有什么深奥的技术要讨论 xff0c 只是自己一个知识上的盲点 xff1a 不知道在Access中如何进行左连接的操作 通过在网上搜索 xff0c 最后在CSDN上找到了自己要的答案 xff0c 因此觉得有必要记录下来 xff1a