oracle sql相关语法

SQL*PLUS

在SQL*PLUS执行,会在执行后显示查询的执行计划和统计信息

sql 复制代码
SET AUTOTRACE ON;

SELECT * FROM your_table WHERE column_name = 'value';

SET AUTOTRACE OFF;

PLSQL

PLSQL查询sql界面,鼠标右键,点击执行计划,会出现sql的执行计划结果

sql 复制代码
SELECT * FROM your_table WHERE column_name = 'value';

oracle SQL查询表索引信息

sql 复制代码
SELECT c.INDEX_NAME,
       CASE UNIQUENESS
           WHEN 'UNIQUE' THEN 'Unique Index'
           WHEN 'NONUNIQUE' THEN 'Non-Unique Index'
           ELSE 'Unknown'
       END AS INDEX_TYPE,
       LISTAGG(COLUMN_NAME, ', ') WITHIN GROUP (ORDER BY COLUMN_POSITION) AS INDEX_COLUMNS
FROM USER_IND_COLUMNS C
JOIN USER_INDEXES I ON C.TABLE_NAME = I.TABLE_NAME AND C.INDEX_NAME = I.INDEX_NAME
WHERE c.TABLE_NAME = '<table_name>'
GROUP BY c.INDEX_NAME, UNIQUENESS;

instr函数

instr(config_desc, ',')=0

其中如果config_desc为null,表达式的值为null,字符串未找到为0

sql 复制代码
select instr(null,',');-- null
select instr('null',','); -- 0
select instr('null,null,',','); -- 0

unistr函数

Unicode转字符串

SELECT UNISTR('\00a0') from dual;

子查询

标量子查询

子查询的结果有且仅有一条
SELECT column1, (SELECT MAX(column2) FROM table2) AS max_value
FROM table1;

sql 复制代码
--子查询结果不为1条
-- 列中子查询
select id,
(select password from users) 
from users group by id;

-- where条件子查询
select id
from users  where id > (select id from users)

表子查询

执行顺序优于主查询
SELECT column1
FROM (SELECT column2 FROM table2 WHERE condition) AS subquery;

相关推荐
Nturmoils1 小时前
GROUP BY 先别想当然,查汇总前把规则跑清楚
数据库
最笨的羊羊2 小时前
Oceanbase数据库系列之:向量数据库核心知识
数据库·oceanbase
fish_xk2 小时前
mysql中的表的约束
数据库·mysql
谢亮_vipxieliang2 小时前
Go Channel 高级模式——从底层原理到扇出扇入实战
java·数据库·golang
ggaofeng3 小时前
自己编写邮件服务器和客户端
数据库
java1234_小锋3 小时前
【技术专题】Mysql8 数据库 - Mysql8 添加,更新,删除数据
数据库·mysql
PaperData3 小时前
2015-2024年各省绿色贸易数据
数据库
小羊没烦恼!3 小时前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#
麦壳饼4 小时前
深入探讨:SonnetDB 的文件格式与存储布局
数据库·sonnetdb
for_ever_love__5 小时前
Redis 持久化讲透:RDB、AOF 与混合持久化怎么选
java·数据库·redis·持久化·aof·区别·rdb