SAS:PROC SQL和ANSI标准

文章来源于SAS HELP

  • PROC SQL 和ANSI SQL 的区别——图表和视图名称的作用域规则不同
    例1:匹配数据集相关名称
    当PROC SQL匹配数据集相关名称时,会依次进行3个步骤:1、有别名,用别名匹配;2、1匹配失败,在无别名的数据集中用数据集名匹配;3、2匹配失败,用有别名的数据集名匹配。
proc sql noprint;
	create table test as
	select dm.subjid,1 as lmg length = 8
	from dm as dm,
		 ae as ae
	where dm.subjid = ae.subjid
	and	  dm.sex = 'M'
	and   not exists (select *
					  from dm as d
					  where d.subjid = dm.subjid
					  and   strip(d.sex) <> 'F'
					  );
quit;

在not exist条件中,proc sql先用别名d去匹配(where筛选等号左边的条件),匹配成功;where筛选等号右边的条件dm.subjid属于有别名d,用dm匹配(属于前2个步骤都没有匹配到,用第3个步骤才成功匹配),也就等价于

where d.subjid = d.subjid
and   strip(d.sex) <> 'F'

继而等价于

where strip(d.sex) <> 'F'

注意:如果PROC SQL使用ISO/ANSI SQL:相关名称匹配标准2012,那么where等式右边的dm.subjid就可以用高等级select语句匹配,即从not exist内部查询语句中跳出到外部select语句中进行匹配

为了与ISO/ANSI SQL匹配规则一致,可以修改相应查询语句。比如在例1中确保外部作用域和内部作用域有不同的别名。

proc sql noprint;
	create table test as
	select dm.subjid,1 as lmg length = 8
	from dm as d1,
		 ae as ae
	where d1.subjid = ae.subjid
	and	  dm.sex = 'M'
	and   not exists (select *
					  from dm as d2
					  where d2.subjid = d1.subjid
					  and   strip(d2.sex) <> 'F'
					  );
quit;

例2:模糊引用
在相同的作用域内有两个相同的dm的引用,DBMS与ANSI SQL标准完全一致,因此会检测到dm.xxx模棱两可。但是对于PROC SQL来说却不会觉得模糊,因为按照例1的逻辑,会首先对有别的的数据集进行匹配,所以这里的where条件实际上筛选到的是来自ae数据集中筛选号长度大于3的筛选号。

proc sql noprint;
	create table test as
	select dm.subjid
	from   dm,ae as dm
	where dm.length(subjid)>3;	
quit;

拓展:PROC SQL exists子查询
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/702363.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tmux-以脚本中的tmux命令为例解释常用tmux命令

SESSIONenv_monitor_hr_parking ----- 将会话名称env_monitor_hr_parking赋值给变量SESSION tmux new-session -s $SESSION -n runner -d ----- new-session 用于创建新的会话。-s $SESSION 是一个选项&#xff0c;其中 $SESSION 是你想要给你的新会话命名的名称。-n runner 是…

基于YOLOv8的行人检测项目的实现

YOLOv8简介 YOLOv8是YOLO系列的最新版本&#xff0c;在继承YOLOv7的基础上进行了进一步改进。YOLOv8在网络结构、损失函数和训练策略上都有显著的提升&#xff0c;使其在目标检测任务中表现更加出色。各位只需要记住&#xff0c;做目标检测&#xff0c;无脑选V8就完了。YOLOv8…

Visual Studio和BOM历史渊源

今天看文档无意间碰到了微软对编码格式解释&#xff0c;如下链接&#xff1a; Understanding file encoding in VS Code and PowerShell - PowerShell | Microsoft LearnConfigure file encoding in VS Code and PowerShellhttps://learn.microsoft.com/en-us/powershell/scrip…

Golang——RPC

一. RPC简介 远程过程调用(Remote Procedure Call&#xff0c;RPC)是一个计算机通信协议。该协议运行于一台计算机的程序调用另外一台计算机的子程序&#xff0c;而程序员无需额外的为这个交互作用编程。如果涉及的软件采用面向对象编程&#xff0c;那么远程过程调用亦可称作远…

Sublime Text 4 - 前端代码编辑的卓越之选

Sublime Text 4 是一款备受赞誉的前端代码编辑神器&#xff0c;无论是在 Mac 系统还是 Windows 系统上&#xff0c;都展现出了其独特的魅力和强大的功能。 Sublime Text 4 拥有简洁而直观的用户界面&#xff0c;让开发者能够快速上手并沉浸于代码编写的过程中。它提供了高度可…

二叉树构建

由于二叉树的左右子树和整树相似&#xff08;即子问题和原始问题相似&#xff09;&#xff0c;因此多考虑使用递归的方法解决问题。 leetcode 108.将有序列表转换为二叉树 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡…

Python数据分析个人笔记6

目录 Function application读取数据查看数据信息自定义函数拆分square自定义函数拆分years自定义函数拆分floor自定义函数拆分followInfo1、获取followInfo列2、对followInfo列进行拆分3、提取关注人数4、提取带看次数5、添加到house的最后两列 缺失值处理house.infohouse.drop…

夹层辊能否解决智能测径仪量程不足的问题?

关键字:智能测径仪,测径仪夹层辊,测径仪量程,夹层辊作用,测径仪量程不足, 智能测径仪是一种高精度的测量设备&#xff0c;主要用于检测线材、管材等圆柱形物体的直径尺寸。在测径仪中&#xff0c;夹层辊是测径仪的关键部件之一&#xff0c;它负责引导和支撑被测物体&#xff0c…

三星堆青铜奇迹:揭秘三千年前的先进制造技术

在四川广汉的三星堆遗址中&#xff0c;考古学家们发现了一件令人叹为观止的青铜龟背形网格状器。这件青铜器的制造技术&#xff0c;在当时的技术条件下显得尤为先进&#xff0c;引发了人们对三星堆文明高度发达科技水平的猜测。 青铜是由铜和锡按一定比例混合而成&#xff0c;这…

基于Python的信号处理(包络谱,低通、高通、带通滤波,初级特征提取,机器学习,短时傅里叶变换)及轴承故障诊断探索

Python是一种广泛使用的解释型、高级和通用的编程语言&#xff0c;众多的开源科学计算软件包都提供了Python接口&#xff0c;如计算机视觉库OpenCV、可视化工具库VTK等。Python专用计算扩展库&#xff0c;如NumPy、SciPy、matplotlab、Pandas、scikit-learn等。 开发工具上可用…

警务反诈RPA的用途:提高反诈骗工作效率,保护公众财产安全

互联网时代&#xff0c;电信诈骗手段不断翻新&#xff0c;作案地域广&#xff0c;打击难度大&#xff0c;反诈工作迎来巨大的挑战。为了提升办案效率&#xff0c;精准打击犯罪&#xff0c;以科技赋能反诈工作、构建反诈新格局迫在眉睫。而RPA机器人由于能够快速、准确地处理大量…

10倍速下载!IDM下载器让你的网速飞起来!

在数字化时代&#xff0c;下载工具成为日常工作和生活中不可或缺的一部分。Internet Download Manager&#xff08;IDM&#xff09;作为一种广受欢迎的下载加速器&#xff0c;凭借其高效的下载速度、断点续传和多线程技术等特点&#xff0c;深受用户喜爱。然而&#xff0c;随着…

个股期权103call是什么意思?

个股期权103call是什么意思&#xff1f; 在金融市场中&#xff0c;个股期权作为一种金融衍生工具&#xff0c;为投资者提供了多样化的投资策略。其中&#xff0c;“103call”这一术语&#xff0c;特指一种特定的期权交易策略&#xff0c;它涉及到看涨期权与虚值状态。 文章来…

(CVPR,2024)Adversarial Prompt Tuning:只需一个提示词就足以提升预训练视觉-语言模型的对抗性鲁棒性

文章目录 相关资料摘要引言对抗性鲁棒性的文本提示CLIP回顾 方法提示参数化提示优化 实验 相关资料 论文&#xff1a;2403.01849] One Prompt Word is Enough to Boost Adversarial Robustness for Pre-trained Vision-Language Models (arxiv.org) 代码&#xff1a;TreeLLi/…

【干货】SaaS出海业务必看的五个海外流量渠道

一、Product Hunt 月访客约500万 Product Hunt拥有巨大的用户流量和影响力&#xff0c;其全球Alexa排名在前四千以内。许多知名的产品&#xff0c;如ChatGPT、Notion等&#xff0c;都在这里成功上线并获得广泛关注。在美国有什么新产品&#xff08;不论网站、APP还是插件&…

AI口语练习软件的技术难点

实现AI口语练习软件是一项复杂的任务&#xff0c;需要攻克多项技术难点。随着人工智能技术的不断发展&#xff0c;AI口语练习软件将变得更加智能和人性化&#xff0c;为用户提供更加有效的口语练习体验。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0…

商家转账到零钱申请内幕最详细解说

商家转账到零钱开通过程中&#xff0c;微信支付官方提供了多达十一种不同的转账场景&#xff0c;这些繁杂的选项经常让商家感到迷茫&#xff0c;难以选择最适合的场景。尤其是申请被拒后&#xff0c;一些商家会试图通过更换场景来碰运气。 不过根据我们上万例的开通经验来看&a…

FPGA设计从初级迈向高级的必备书籍:《FPGA设计实战演练(高级技巧篇)》(可下载)

在FPGA设计的广阔天地中&#xff0c;每一位工程师都是探索者&#xff0c;他们用代码编织逻辑&#xff0c;用创意构建系统。然而&#xff0c;随着技术的发展和系统需求的提升&#xff0c;传统的设计方法已难以满足现代FPGA设计的需求。《FEGA设计实战演练&#xff08;高级技巧篇…

设置ingress的会话保持

设置ingress通过cookie的会话保持 1.创建ingress&#xff0c;正常填写转发规则 2.添加3个注释 nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent nginx.ingress.kubernetes.io/session-cookie-name: SESSION #切记&…

细节决定成败!2024年谷歌SEO实战指南

2024年&#xff0c;谷歌搜索引擎算法再次迎来更新&#xff0c;对网站的综合质量和细节优化更加重视。这引发了SEO圈的热议&#xff0c;有人认为细节优化至关重要&#xff0c;也有人对此嗤之以鼻。 误区&#xff1a;很多人做独立站优化以为通过SEO优化&#xff0c;有一个高招能…