sql - 在 Oracle 中,我什么时候只在查询中使用关键字
问题描述
我正在学习 Oracle 认证课程,并且正在查看示例。讲师并没有真正谈论何时仅使用以及何时不使用。ONLY 关键字是在特定情况下使用的,并且是唯一的语义,还是它做了一些我错过的特定事情?
这是一个例子
SELECT product_name, quantity FROM inventory INNER JOIN products USING(product_id) ORDER BY quantity DESC FETCH NEXT 5 ROWS ONLY;
这是必需的吗?如果我不给出 ONLY 关键字会有所不同吗?
解决方案
SELECT product_name, quantity FROM inventories INNER JOIN products USING(product_id) ORDER BY quantity DESC FETCH NEXT 5 ROWS ONLY;
这是必需的吗?如果我不给出 ONLY 关键字会有所不同吗?
让我们举一个简单的例子并运行它:
SELECT * FROM DUAL
ORDER BY DUMMY
FETCH NEXT 5 ROWS;
输出:
ORA-00905: missing keyword
然后:
SELECT * FROM DUAL
ORDER BY DUMMY
FETCH NEXT 5 ROWS ONLY;
输出:
假 X
db<>在这里摆弄
所以,是的,需要一个关键字;从语句的行限制子句的SELECT
语法图中可以看出:
FETCH
然后您必须使用ONLY
or结束行限制子句WITH TIES
。
推荐阅读
- python - 为什么在没有排序索引的 Pandas 数据帧上创建新列很慢
- java - 有没有办法在不使用 java 中的任何内置函数的情况下找到字符串长度?
- swift - 如何将图像异步插入collectionview
- c# - 在 Kiosk UWP 应用中运行 DevicePicker 类
- r - 在 R 中使用 agregate 和用户定义的函数,该函数取决于两列
- javascript - Alexa Skills 使用 slotValue 作为数组名称
- types - 函数定义中的 Julia where 语句
- docker - 如何实现 Kubernetes POD 到 POD 的通信?
- javascript - Service Worker 被删除并且即使在注册时指定根范围后也不会收到推送事件
- angular - Angular Typescript无法从键值对中获取键值