位置: 编程技术 - 正文

sql server关键字详解大全(图文)(sqlserver关键字附近有语法错误)

编辑:rootadmin

推荐整理分享sql server关键字详解大全(图文)(sqlserver关键字附近有语法错误),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql语句关键字,sqlserver关键字什么意思,sqlserver关键字涉及到的所有语句,sqlserver关键字涉及到的所有语句,sqlserver关键字附近有语法错误,sql server关键字最基本,sql server关键字column,sqlserver关键字,内容如对您有帮助,希望把文章链接给更多的朋友!

下面把sqlserver中cross apply和outer apply关键字具体介绍展示如下:

1.CROSS APPLY 和OUTER APPLY

MSDN解释如下(个人理解不是很清晰):

使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。

通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。

APPLY 运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。

APPLY 有两种形式:

CROSS APPLY 和 OUTER APPLY。

CROSS APPLY 仅返回外部表中通过表值函数生成结果集的行。

OUTER APPLY 既返回生成结果集的行,也返回不生成结果集的行,其中表值函数生成的列中的值为 NULL。

网上搜集的解释如下(个人感觉好理解):

SQL Server数据库操作中,在以上的版本新增加了一个APPLY表运算符的功能。新增的APPLY表运算符把右表表达式应用到左表表达式中的每一行。

它不像JOIN那样先计算哪个表表达式都可以,APPLY必须先逻辑地计算左表达式。这种计算输入的逻辑顺序允许把右表达式关联到左表表达式。

APPLY有两种形式,一个是OUTER APPLY,一个是CROSS APPLY,区别在于指定OUTER,意味着结果集中将包含使右表表达式为空的左表表达式中的行,而指定CROSS,则相反,结果集中不包含使右表表达式为空的左表表达式中的行。

注意:若要使用 APPLY,数据库兼容级别必须为 。

下面我们做个例子:

比如有个类别表(Category)内容如下:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfcbdae.png" alt="查看图片" />

还有个类别明细表(CategoryDetail)内容如下:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfccda.png" alt="查看图片" />

下面我们来看看OUTER APPLY 的查询结果:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfcd6baa7.png" alt="查看图片" />

sql server关键字详解大全(图文)(sqlserver关键字附近有语法错误)

由上图可看出OUTER APPLY把左表中的信息查出后把右表中的信息也关联出来了,当然当右表的信息为空(NULL)时,OUTER APPLY也会在结果集中显示出来.

接下来我们看下CROSS APPLY的查询结果:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfcdcde.png" alt="查看图片" />

根据这图和上面的比较可看出,这个返回结果只有两个,Category 表中的Tiger的信息没有带出来,因为在CategoryDetail 表中没有对应的明细.

由以上信息可得出,OUTER APPLY 就相当于数学中的并集,而CROSS APPLY相当于数学中的交集,关于交集与并集的介绍如下:

并集为下图中的所有红色部分,即为A和B的全部:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfced.jpg" alt="查看图片" />

交集为下图中的红色部分,也就是A和B相交的部分:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfcf3b.jpg" alt="查看图片" />

2.OUTER APPLY 和LEFT JOIN

LEFT JOIN 关键字会从左表 (Category) 那里返回所有的行,即使在右表 (CategoryDetail) 中没有匹配的行。

注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。

下面我们来看看LEFT JOIN 的查询结果(还是1.CROSS APPLY 和 OUTER APPLY中的例子):

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_dfcfcf.png" alt="查看图片" />

LEFT JOIN 关键字会从左表 (Category) 那里返回所有的行,即使在右表 (CategoryDetail) 中没有匹配的行。效果和OUTER APPLY 一样。

OUTER APPLY 和 LEFT JOIN 的主要区别为:

  一个LEFT JOIN 关键字只能JOIN 一个表,不能解决一个复杂的SELECT 语句,或者函数方法等。

  一个OUTER APPLY 关键字可以包含一个独立的复杂的SELECT 语句,或者其他函数方法等。

OUTER APPLY 和 LEFT JOIN 性能的区别:

  通过本文总结可知LEFT JOIN和OUTER APPLY性能比较的总结可知 LEFT JOIN 要比 OUTER APPLY 性能要快。所以建议能用LEFT JOIN的尽量不要用OUTER APPLY。

附注:

附Category 表和CategoryDetail 表的结果及插入数据的脚本:

以上内容就是本文的全部所示,希望大家喜欢。

SQL Server数据库删除数据集中重复数据实例讲解 SQLServer数据库操作中,有时对于表中的结果集,满足一定规则我们则认为是重复数据,而这些重复数据需要删除。如何删除呢?本文我们通过一个例子

SQL Server存储过程中使用表值作为输入参数示例 在之前如果我们想要将表作为输入参数传递给SQLServer存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入。在中

SQL Server自定义异常raiserror使用示例 在使用SQLServer存储过程或者触发器时,通常会使用自定义异常来处理一些特殊逻辑。例如游标的销毁,事务的回滚。接下来将会详细的介绍SQLServer自定

标签: sqlserver关键字附近有语法错误

本文链接地址:https://www.jiuchutong.com/biancheng/347735.html 转载请保留说明!

上一篇:企业管理器备份和还原SQL Server数据库(用企业管理器创建一个备份设备)

下一篇:SQL Server数据库删除数据集中重复数据实例讲解(sqlserver数据库和mysql区别)

  • 福利费的进项税额会计分录
  • 出口退税通俗理解
  • 增值税如何进行税收筹划
  • 给离退休人员发的短信
  • 跨月冲红的发票怎么做会计分录
  • 用房租入股
  • 企业增资的分录怎么写
  • 公司为员工购买社保证明
  • 出口货物当期免抵退税不得免征和抵扣税额,应计入
  • 企业清算业务程序
  • 会议费怎么做会计分录
  • 财产租赁所得应缴纳个人所得税
  • 职工宿舍租赁费
  • 土地增值税负数怎么算
  • 出口业务增值税免抵税额
  • 开票码必须输入吗
  • 企业2015年申报抵扣的增值税,2016年检查有11000元不得抵扣,需要补交增值税11000元并收滞纳金及罚款1200元,请问老师具体该怎么做账,谢谢
  • 固定资产折旧在资产负债表属于什么
  • 利润表所得税费用怎么填
  • 房租出租税收编码和税率
  • 电子发票怎么开具流程
  • 抄报税失败不许逾期报税吗
  • 虚开增值税简单例子
  • 企业对外捐赠现金的会计处理
  • 一接通电源就自动关机
  • 连续亏损的公司还要去吗
  • 建筑公司收到的劳务费怎么做账
  • mac开机按command+r没反应
  • CENTOS7安装报错
  • 腾讯地图js api
  • win11桌面右键失效
  • 非盈利组织稳定吗
  • 个人从任职单位取得可公开交易的股票期权
  • 股权投资取得的收入计入什么科目
  • yolo部署到服务器
  • vue3 ts知乎专栏
  • 前端cli搭建
  • 月末结转本年利润吗
  • windowlocation用法
  • Python深度学习实战:人脸关键点(15点)检测pytorch实现
  • ChatGPT可以做什么
  • 投资性房地产抵债差额计入
  • 本年利润是净利润吗
  • 预缴税款计入什么科目
  • 增值税负数要结转
  • c语言fgets函数用法stdin
  • 房东减免后二房东不减房租
  • 房地产开发企业土地出让金扣除政策
  • 破产清算不够支付员工补偿金
  • 开自家车出差怎样报销
  • 房产税是按不含增值税计提吗
  • 实际购入成本包括增值税吗
  • 计提固定资产折旧账务处理
  • 小微企业免税额度是多少
  • 经营性租赁账务处理方法
  • 小规模结转增值税会计科目有哪些
  • 其他应收款可以挂公司吗
  • 税法规定固定资产最低折旧年限
  • ubuntu20.04怎么用
  • xp操作系统入门
  • linux几种安装方式
  • win7怎么删除操作中心
  • 通知栏图标怎么变小
  • win8.1应用商店不能装软件,提示此项应用不在提供
  • linux下VSFTP 530 Permission denied错误的解决办法
  • cocos 2d x
  • 如何让w10系统运行更快
  • 求婚表白的语句
  • linux cz命令
  • dos命令查看
  • 安卓演示模式有什么用
  • jquery的css样式
  • jquery常用的事件绑定函数有哪些
  • jquery弹窗弹出一个页面
  • u3d官方
  • python中求最大值和最小值的函数
  • 咸阳国税局长是哪里人
  • 税务非正常户转正常户的申请报告
  • 税务登记注销证明是什么样的
  • 火车报销凭证丢了还能退款吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设