Oracle基础以及一些‘方言’(二)

1、Oracle的查询语法结构

  • Oracle 的单表查询的语法结构:
    • SELECT 1 FROM 2 WHERE 3 GROUP BY 4 HAVING 5 ORDER BY 6
    • 其每个关键词的功能与MySQL中的功能已知,不过分页查询的关键词 limit 并不在Oracle的语法结构中。
  • 伪列:
    • 在 Oracle 的表的使用过程中 ,实际表中还有一些附加的列,称为伪列。

      伪列就 像表中的列一样 ,但是在表中并不存储。伪列只能查询,不能进行增删改操作。

    • ROWID
      • 表中的每一行在数据文件中都有一个物理地址 ,ROWID 伪列返回的就是该行的物理地址。

      • 由于 ROWID 返回的是该行的物理地址,因此 ROWID 可以唯一的标识表中的一行,且使用 ROWID 可以快速的定位表中的某一行。

    • ROWNUM

      • 在查询的结果集中 ,ROWNUM 为结果集中每一行标识一个行号 ,第一行返回 1 , 第二行返回 2 ,以此类推。通过 ROWNUM 伪列可以限制查询结果集中返回的行数。        

      • ROWNUM 的功能

        • 限制结果集大小:可以用来限制查询返回的行数,如取前 N 行。

        • 分页查询:在分页查询中,通过 ROWNUM 可以实现简单的分页逻辑。

    • ROWID:唯一标识数据库中每一行的物理位置,常用于快速访问和更新特定行。

    • ROWNUM:表示查询结果集中每行的行号,常用于限制查询结果集大小和实现分页查询。

2、Oracle分页查询

  • Oracle的简单的条件查询与MySQL相似,较为不同的是Oracle中不支持分页查询的 limit 语法,并且多了伪列的概念。想要实现分页查询,我们可以借助 伪列 rownum 的概念。

  • 分页查询
    • 返回查询的前5个的学生的信息
    • select *
      from STUDENT
      where rownum <= 5
      ;
    • 如果我们需要返回第6~8条结果呢?

    • select *
      from STUDENT 
      where rownum > 5 and rownum <= 8
      ;
    • 执行如上命令的结果为空

    • 原因:这是因为 Oracle 在返回结果时,会逐行分配
              对于第一行,它的 ROWNUM 是 1。
              然后,WHERE 子句会检查第一行,但由于 ROWNUM 是 1,因此它被排除。
              由于第一行已经被排除,第二行的 ROWNUM 依然是 1。
              这导致永远没有 ROWNUM 为 2 的行出现。

    • 解决:使用多层嵌套查询,并为内部查询的rownum分配别名

    • with t1 as (
      select s.*, ROWNUM as r
      from STUDENT s)
      select *
      from t1
      where r > 5 and r <= 8
      ;

3、Oracle多表查询

  • 内连接

    • Oracle的内连接与MySQL的sql语法类似,当不添加限制条件时为交叉连接,即构成笛卡尔积。

    • select *
      from Course
      inner join TEACHER on Course.t_id = Teacher.t_id;
  • 外连接

    • 按照 SQL1999 标准的语法 ,查询语句如下 :

      • 左外连接:

      • select *
        from Course
        left join TEACHER on Course.t_id = Teacher.t_id;
        ​​​​​​​
      • 右外连接:

      • select *
        from Course
        right join TEACHER on Course.t_id = Teacher.t_id;
    • 按照 ORACLE 提供的语法 ,就很简单了 :

      • 左外连接

      • ​select *
        from Course, TEACHER
        where Course.t_id = Teacher.t_id(+);
        
      •  右外连接

      • ​select *
        from Course, TEACHER
        where Course.t_id(+) = Teacher.t_id;
        
      • 注意:如果是左外连接,就在右表所在的条件一端填上 (+),同理,如果是右外连接,就在左表所在的条件一端填上 (+)。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

在Windows中使用开源高性能编辑器Zed(持续更新)

简介 “Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. It’s also open source.” “Zed是一款高性能的支持多人协作的代码编辑器&#xff0c;由Atom和Tree-sitter的创建者开发。它也是开源的。” Zed主打“高性能”&…

Ensp配置防火墙的web界面

Ensp配置防火墙的web界面 准备工作新建网卡配置网卡 启动防火墙配置防火墙注意事项和错误如果云里面没有网卡选项防火墙启动不了没有web界面启动不了没有web界面 准备工作 新建网卡 我用的是win10系统&#xff0c;新建网卡 先右键管理 再点击设备管理器 --- 再网络适配器 接…

Day62 单调栈part01

LC739每日温度(未掌握) 暴力解法&#xff1a;两层for循环&#xff0c;时间复杂度O(n^2)&#xff0c;会超时未掌握原因分析&#xff1a;只想到了从栈顶到栈底是递减的情况&#xff0c;忽略了从栈顶到栈底是递增的情况 因为需要找到一个元素右边第一个更大元素&#xff0c;只有…

机器视觉理论入门

文章目录 前言一、马尔视觉理论二、图形与图像三、图像基础名词总结 前言 Marr的视觉计算理论立足于计算机科学&#xff0c;系统地概括了心理物理学、神经生理学、临床神经病理学等方面已取得的所有重要成果&#xff0c;是迄今为止最为系统的视觉理论。Marr 的视觉计算理论虽然…

同步时钟系统支持多种校时方式

在当今数字化、信息化高速发展的时代&#xff0c;时间的准确性和同步性变得至关重要。无论是金融交易、通信网络、交通运输&#xff0c;还是工业生产、科学研究等领域&#xff0c;都离不开一个精确且同步的时钟系统。而同步时钟系统之所以能够在众多领域发挥关键作用&#xff0…

阈值分割后配合Connection算子和箭头工具快速知道区域的ID并选择指定区域

代码 dev_close_window () read_image (Image, E:/机器视觉学习/海康视觉平台/二期VM视觉学习/二期VM视觉学习/机器视觉程序/标定相机找圆心和焊头修正相机找圆心之算法软件/标定相机找圆心和焊头修正相机找圆心之算法软件/03 标定相机找圆心/S2/1号机/1.bmp) get_image_size …

【windows】安装抓包工具Burp Suite 2024激活汉化

前言 在项目即将上线阶段&#xff0c;迈入生产环境之际&#xff0c;确保其安全性成为我们不可忽视的首要任务。为筑起一道坚不可摧的安全防线&#xff0c;我们借助业界公认的网络安全利器——Burp Suite&#xff0c;我们将展开一场全面的安全测试&#xff0c;旨在探查并消除任…

QT学习日记一

创建QT文件步骤 这是创建之后widget.cpp和widget.h文件的具体代码解释&#xff0c;也是主要操作的文件&#xff0c;其中main.cpp不用操作&#xff0c;ui则是图形化操作界面&#xff0c;综合使用时&#xff0c;添加一个元件要注意重编名和编译一下&#xff0c;才能在widget这类…

妙笔生词智能写歌词软件:创新助力还是艺术之殇?

在音乐创作日益普及和多样化的当下&#xff0c;各种辅助工具层出不穷&#xff0c;妙笔生词智能写歌词软件便是其中之一。那么&#xff0c;它到底表现如何呢&#xff1f; 妙笔生词智能写歌词软件&#xff08;veve522&#xff09;的突出优点在于其便捷性和高效性。对于那些灵感稍…

【福利】代码公开!咸鱼之王自动答题脚本

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 微信或QQ打开咸鱼之王小程序&#xff0c;进入答题界面&#xff0c;运行main.py。期间不要动鼠标。 可自行更改代码来适配自己的需求~ 可以按照示例图片…

LeetCode加油站(贪心算法/暴力,分析其时间和空间复杂度)

题目描述 一.原本暴力算法 最初的想法是&#xff1a;先比较gas数组和cost数组的大小&#xff0c;找到可以作为起始点的站点(因为如果你起始点的油还不能到达下一个站点&#xff0c;就不能作为起始点)。当找到过后&#xff0c;再去依次顺序跑一圈&#xff0c;如果剩余的油为负数…

MATLAB备赛资源库(1)建模指令

一、介绍 MATLAB&#xff08;Matrix Laboratory&#xff09;是一种强大的数值计算环境和编程语言&#xff0c;特别设计用于科学计算、数据分析和工程应用。 二、使用 数学建模使用MATLAB通常涉及以下几个方面&#xff1a; 1. **数据处理与预处理**&#xff1a; - 导入和处理…

OpenAI与Thrive Global推出Thrive AI Health:AI驱动的健康教练应用

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

算法金 | 12 个最佳 Python 代码片段,帮我完成工作自动化,香~

​大侠幸会幸会&#xff0c;我是日更万日 算法金&#xff1b;0 基础跨行转算法&#xff0c;国内外多个算法比赛 Top&#xff1b;放弃 BAT Offer&#xff0c;成功上岸 AI 研究院 Leader&#xff1b; Python是一种多功能的编程语言&#xff0c;它提供了各种功能和库来有效地自动化…

更深入了解汽车与航空电子等安全关键型应用的IP核考量因素

作者&#xff1a;Philipp Jacobsohn&#xff0c;SmartDV高级应用工程师 中国已经连续十多年成为全球第一大汽车产销国&#xff0c;智能化也成为了汽车行业发展的一个重要方向&#xff0c;同时越来越多的制造商正在考虑进入无人机和飞行汽车等低空设备&#xff0c;而所有的这些…

语义言语流畅性的功能连接和有效连接

摘要 语义言语流畅性(SVF)受损在多种神经系统疾病中都存在。虽然已经报道了SVF相关区域的激活情况&#xff0c;但这些区域如何相互连接以及它们在脑网络中的功能作用仍存在分歧。本研究使用功能磁共振成像评估了健康被试SVF静态和动态功能连接(FC)以及有效连接。观察到额下回(…

Filter 过滤器

1. 什么是过滤器 拦截不符合过滤要求的请求&#xff0c;使其无法到达目的地。 执行过程 主要用在&#xff1a;统一认证&#xff0c;统一编码设置 2. 创建过滤器 两种方式&#xff1a;与 servlet 雷同 ① 注解方式 &#xff08;/* 拦截所有请求&#xff09; WebFilter(fil…

从数据仓库到数据湖(下):热门的数据湖开源框架

文章目录 一、前言二、Delta Lake三、Apache Hudi四、Apache Iceberg五、Apache Paimon六、对比七、笔者观点八、总结八、参考资料 一、前言 在上一篇从数据仓库到数据湖(上)&#xff1a;数据湖导论文章中&#xff0c;我们简单讲述了数据湖的起源、使用原因及其本质。本篇文章…

【Windows11】Edge卡顿问题精准解决

目录 背景问题解决 背景 本机配置&#xff1a; CPU&#xff1a;i5-13600KF 内存&#xff1a;威刚 XPG龙耀 D300G 32G 6400 D5 固态&#xff1a;威刚 XPG翼龙 S70B 1T PCIe4.0 7400MB/s 带缓存 理论上这个配置多开个Edge轻轻松松。 已经尝试网上各种方法未果&#xff0c;包括不…

【状态估计】非线性非高斯系统的状态估计——离散时间的批量估计

上一篇文章介绍了离散时间的递归估计&#xff0c;本文着重介绍离散时间的批量估计。 上一篇位置&#xff1a;【状态估计】非线性非高斯系统的状态估计——离散时间的递归估计。 离散时间的批量估计问题 最大后验估计 目标函数 利用高斯-牛顿法来解决估计问题的非线性版本&a…