sql92和SQL99的区别
SQL92和SQL99都是用来表示多表的联合查询使用的,两者在开发中,具体使用哪一种都是可以的,但是在书写和阅读的过程中,具体表现在以下:
1、笛卡尔积中的区别
①SQL92中的笛卡尔积:select * from emp,dept
②SQL99中的笛卡尔积:select * from emp cross join dept
2、等值连接方面的区别
①SQL92表示:select * from emp,dept where emp.deptno=dept.deptno
②SQL99表示:select * from emp innner join dept on emp.deptno=dept.deptno
3、不等值连接方面
①SQL92表示:select * from emp ,salgrade where emp.sal<=salgrade.hisal and emp.sal>=salgrade.losal
②SQL99表示:select * from emp inner join dept on emp.deptno=dept.deptno where sal>2000
4、左外连接
①SQL表示:select * from emp ,dept where emp.deptno=dept.depetno(+)
②SQL99表示:select * from emp left outer join dept on emp.deptno=dept.deptno
5、右外连接
①SQL92实现:select * from emp ,depet where emp.deptno = dept.deptno;
②SQL99实现:select * from emp righ outer join dept on emp.deptno=dept.deptno
6、全完连接
①SQL92实现:select * from emp,dept where epm.deptno(+) = dept.dpetno(+)
②SQL99实现:select * from emp full outer join dept on emp.deptno=dept.deptno;
7、自连接
①SQL92实现:select e1.*,e2.ename from emp e1,emp e2 where e1.deptno=e2.deptno
②SQL99实现:select e1.*,e2.ename from emp e1 inner join emp e2 on e1.deptno=e2.deptno
8、在三表连接查询中
①SQL92实现:
select e.*,d.dname,c.cname
from emp e,dept d,city c
where (e.deptno=d.deptno and d.loc=c.cid and sal>2000) or (e.deptno=d.deptno and d.loc=c.cid and comm is not null)
order by e.sal
②SQL99实现:
select * from emp e
inner join dept d
on e.deptno = d.deptno
inner join city c
on d.loc =c.cid
where e.sal>2000 or e.comm is not null
order by e.sal
此外,SQL99中在内连接中还可以使用关键字:using
select * from emp inner join dept using(deptno)
————————————————
版权声明:本文为CSDN博主「道法—自然」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wyqwilliam/article/details/103076797
sql92和SQL99的区别的更多相关文章
- sql92和sql99
sql1992sql分类 1.笛卡尔积 (表乘表) 2.等值连接 表的连接条件使用“=” 3.非等值连接 表的连接条件使用“>.>=. <.<=.!=.any等” 4.自连接 ...
- 三、DQL语言
目录 一.基础查询 (一)语法 (二)特点 (三)示例 二.条件查询 (一)语法 (二)筛选条件的分类 三.排序查询 (一)语法 (二)特点 四.常见函数 (一)介绍 (二)分类 五.单行函数 (一) ...
- Delete,Update与LEFT Join
UPDATE:UPDATE A SET ApproverID=NULL FROM [SH_MaterialApplyBuyBill] A LEFT JOIN [SH_MaterialApplyBuyB ...
- 关于数据库管理系统DBMS--关系型数据库(MySQL/MariaDB)
数据库的结构(3种):层次,网状,关系型(用的最多): DBMS的三层模型: 视图层:面向最终用户: 逻辑层:面向程序员或DBA: 物理层:面向系统管理员: 关系型数据库管理系统——RDBMS: 主要 ...
- CREATE TABLE - 定义一个新表
SYNOPSIS CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( { column_name data_ty ...
- MySQL数据库笔记总结
MySQL数据库总结 一.数据库简介 1. 数据 所谓数据(Data)是指对客观事物进行描述并可以鉴别的符号,这些符号是可识别的.抽象的.它不仅仅指狭义上的数字,而是有多种表现形式:字母.文字.文本. ...
- SQL中的连接(极客时间)
SQL中的连接 关系型数据库的核心之一就是连接, 而在不同的标准中, 连接的写法上可能有区别, 最为主要的两个SQL标准就是SQL92和SQL99了, 后面的数字表示的是标准提出的时间. SQL92中 ...
- SQL的概念与发展 - 极客时间学习笔记
了解SQL SQL的两个重要标准是SQL92和SQL99. SQL语言的划分 DDL,也叫Data Definition Language,也就是数据定义语言,用来定义数据库对象,包括数据库.数据表和 ...
- 尚硅谷MySQL基础学习笔记
目录 写在前面 MySQL引入 数据库的好处 数据库的相关概念 数据库存储数据的特点 MySQL服务的启动和停止 MySQL服务端的登录和退出 MySQL的常用命令 MySQL语法规范 DQL(Dat ...
- MySQL学习笔记——基础与进阶篇
目录 一.###MySQL登录和退出 二.###MySQL常用命令 三.###MySQL语法规范 四.###基础查询 五.###条件查询 六.###排序查询 七.###常见函数的学习 八.###分组查 ...
随机推荐
- 安全感知平台SIP-部署简介
部署安装前前期调研: NDR:全流量高级威胁检测: NDR是一款专门围绕"高级威胁检测"为核心,主打全流量采集.快速检测.威胁定位.研判溯源.联动闭环一体化的专业流量检测系统:内置 ...
- 关于python的一些学习笔记
一种是利用三引号的方法.三引号下默认允许自动换行,第二种就是在文字之间插入\n这种方式(使用转义字符) 这里是关于转义字符的一些总结. 2.关于运算符号 小学除法取余%,中学开n方**,小学除法取整/ ...
- 联合省选2025 tj
联合省选2025 tj d1 t2 实际上只需要把\(x\)能到的点集\(S_x\)和\(Sa_{[l,r]}\)交起来得到\(S\),再找到最大的\(v\)满足\(S\)和\(Sb_{[v,n]}\ ...
- [CF878E]Numbers on the blackboard
E - Numbers on the blackboard 最后的答案肯定为\(\sum_{l\leq i\leq r} 2^{p_i}\times a_i\) 然后这个\(p\)满足以下限制: \( ...
- ABC295(D~G)
Tasks - AtCoder Beginner Contest 295 这篇是超级抽象的简要tj,看不懂不要骂我这个蒟蒻QWQ D - Three Days Ago (atcoder.jp) \(f ...
- Spring Cloud Alibaba 微服务架构深度解析
在Spring Cloud生态体系中,Spring Cloud Alibaba作为国产微服务解决方案,通过整合阿里开源组件,提供了一站式服务注册与发现.配置管理.流量控制等能力.本文从核心组件.技术选 ...
- Ubuntu云服务器上部署发布Vite项目
1 拷贝代码 一般来说是Windows环境下开发,Ubuntu环境下部署.因此首先要考虑的问题是如何将Vite项目的源代码拷贝到云服务器上面去.最简单的就是使用像MobaXterm这样的远程连接工具, ...
- mac如何卸载飞连
当我们在[应用程序]下面把飞连移到废纸篓时,会提示被锁定无法删除 我们需要先把软件解锁,执行以下命令, 再移到废纸篓即可 sudo /usr/bin/chflags -R noschg /Applic ...
- Codeforces Round #613 (Div. 2) ABC 题解
A. Mezo Playing Zoma 题意:给你一个向右向左的指令,每个指令可以朝那个方向走一个单位,问你可以随意选出子序列来走,那可能到达的点有多少个. 思路:从范围上考虑就秒了.看最左和最右能 ...
- C++ basic_string::_M_construct null not valid
这个错误我在构造函数中爆出了错误 累坏我了 一般来说是赋值了不该赋的值 string 类型的初始化 用 int 结果炸了