Oracle必会的基础SQL-管理维护
2023-09-14 08:56:49 时间
1.查询当前数据库谁在运行什么sql
SELECT OSUSER, USERNAME, SQL_TEXT FROM V$SESSION A, V$SQLTEXT B WHERE A.SQL_ADDRESS =B.ADDRESS ORDER BY ADDRESS, PIECE; 2.如何查询和删除重复记录?
DELETE FROM TABLE_NAME T1
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME T2
WHERE T1.COL1= T2.COL1 AND T1.COL2= T2.COL2);
3.如何用BBB表的数据去更新AAA表数据 (有关联的字段)
UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE EXISTS (SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) ;
ORA-28000:the account is locked
4.关于Rownum
(1)仔细阅读下面三条命令,猜想其结果
Select * from users where rownum
Select * from users where rownum
Select * from users where rownum
猜想 根据时间倒序查询10笔订单
select * from ord_order b where rownum 11 order by create_time desc ;
select * from (select * from ord_order b order by create_time desc ) where rownum
以上2条sql语句得到的数据一样吗?哪个数据是符合要求的。
(2)rownum的值来源原理
1 Oracle executes your query.
2 Oracle fetches the first row and calls it row number 1.
3 Have we gotten past row number meets the criteria? If no, then Oracle discards the row, If yes, then Oracle return the row.
4 Oracle fetches the next row and advances the row number (to 2, and then to 3, and then to 4, and so forth).
5 Go to step
(3). 总结:因为ROWNUM是对结果集加的一 个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说rownum是对符合条件结果的序列号。它总是从1开始排起的。所以你选出的结果不可能没有1,而有其他大于1的值。
数据库小技能:Oracle基础之【查询】 DQL:(数据查询语言,select)用来完成对数据库中的数据查询。 DDL(数据定义语言,create,drop,truncate截断表)操作表结构。 DML(数据库操作语言,insert,delete,update)操作数据
SELECT OSUSER, USERNAME, SQL_TEXT FROM V$SESSION A, V$SQLTEXT B WHERE A.SQL_ADDRESS =B.ADDRESS ORDER BY ADDRESS, PIECE; 2.如何查询和删除重复记录?
DELETE FROM TABLE_NAME T1
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME T2
WHERE T1.COL1= T2.COL1 AND T1.COL2= T2.COL2);
3.如何用BBB表的数据去更新AAA表数据 (有关联的字段)
UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE EXISTS (SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) ;
ORA-28000:the account is locked
4.关于Rownum
(1)仔细阅读下面三条命令,猜想其结果
Select * from users where rownum
Select * from users where rownum
Select * from users where rownum
猜想 根据时间倒序查询10笔订单
select * from ord_order b where rownum 11 order by create_time desc ;
select * from (select * from ord_order b order by create_time desc ) where rownum
以上2条sql语句得到的数据一样吗?哪个数据是符合要求的。
(2)rownum的值来源原理
1 Oracle executes your query.
2 Oracle fetches the first row and calls it row number 1.
3 Have we gotten past row number meets the criteria? If no, then Oracle discards the row, If yes, then Oracle return the row.
4 Oracle fetches the next row and advances the row number (to 2, and then to 3, and then to 4, and so forth).
5 Go to step
(3). 总结:因为ROWNUM是对结果集加的一 个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说rownum是对符合条件结果的序列号。它总是从1开始排起的。所以你选出的结果不可能没有1,而有其他大于1的值。
数据库小技能:Oracle基础之【查询】 DQL:(数据查询语言,select)用来完成对数据库中的数据查询。 DDL(数据定义语言,create,drop,truncate截断表)操作表结构。 DML(数据库操作语言,insert,delete,update)操作数据
相关文章
- Oracle 数据文件删除:从入门到精通(oracle删数据文件)
- Oracle创建主键表:基础指南(oracle建主键表)
- 快速执行Oracle SQL文件的姿势(oracle执行sql文件)
- 使用SQL连接Oracle数据库(sql连接oracle)
- 中多月数据一键清理Oracle数据库中多月份数据(一键删除oracle)
- Oracle中SQL技术的应用(oracle中sql)
- Oracle计算接近圆周率的精确值(oracle的圆周率)
- 深入浅出:基于Oracle的表格创建方法(oracle如何创建表)
- 数据库审计Oracle数据库:探索其中的目录(审计目录Oracle)
- 使用Oracle数据库备份与恢复的SQL语句(oracle备份语句)
- Oracle SQL中的全文索引实现(oracle全文索引)
- Oracle查询获取第一条记录(oracle取第一条)
- Oracle 数据库备份文件处理方法(oracle备份文件)
- Oracle与SQL的不同之处(oracle和sql区别)
- Oracle成功之路:从基础到持续发展(oracle成功之路)
- “从Oracle 11g开始,一次掌握新的SQL语言特性”(oracle 11g方言)
- Oracle内存透明大页技术革命性应用(oracle内存透明大页)
- 改变全球Oracle公司美国总部之旅(oracle公司美国总部)
- 使用CI框架连接Oracle数据库的实践经验(ci框架连接oracle)
- 的sql语句精益求精Oracle打造优雅的SQL语句(oracle书写好看)
- Oracle会话功能及其重要性(oracle会话作用)
- Oracle在iteye上的应用与发展(oracle iteye)