Oracle SQL语句实用大全

3星 · 超过75%的资源 需积分: 0 3 下载量 64 浏览量 更新于2024-09-17 收藏 244KB PDF 举报
"Oracle-sql语句收集整理大全" 这篇文档是一个关于Oracle SQL语句的集合,主要涵盖了在Oracle数据库管理中常见的操作,如表的复制、数据的拷贝、查询优化以及数据删除等。以下是这些SQL语句的详细解释: 1. 复制表结构(不包含数据) ``` select * into b from a where 1<>1 ``` 这个SQL语句用于创建一个新的表`b`,其结构与原始表`a`相同,但不复制任何数据。条件`1<>1`始终为假,所以没有实际行会被选取。 2. 复制表数据(包括数据) ``` insert into b(a, b, c) select d, e, f from b; ``` 这个语句将表`b`的数据复制到另一个同名的新表`b`中,指定列`a, b, c`对应源表中的`d, e, f`列。 3. 显示文章、提交人和最后回复时间 ``` select a.title, a.username, b.adddate from tablea, (select max(adddate) adddate from table where table.title = a.title) b ``` 此查询联合了两个子查询,显示了每个文章的标题、作者和该文章的最后回复日期。 4. 外连接查询(左连接) ``` select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUTER JOIN b ON a.a = b.c ``` 左外连接查询返回所有在表`a`中的记录,即使在表`b`中没有匹配的记录。如果在表`b`中找不到匹配,相应的列将显示为NULL。 5. 日程安排提前五分钟提醒 ``` select * from 日程安排 where datediff('minute', 开始时间, getdate()) > 5 ``` 这个查询用于找出那些距离开始时间超过5分钟的日程安排。 6. 删除主表中已在副表中不存在的信息 ``` delete from info where not exists (select * from info_bz where info.infoid = info_bz.infoid) ``` 这个语句用于删除主表`info`中,在副表`info_bz`中不存在对应`infoid`的记录,确保主表和副表的关联一致性。 7. 比较历史版本信息 ``` SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE FROM TABLE1, (SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE AS PREV_UPD_DATE FROM (SELECT NUM, UPD_DATE FROM ...) X, (SELECT NUM, UPD_DATE FROM ...) Y WHERE X.NUM = Y.NUM AND X.UPD_DATE > Y.UPD_DATE) B ``` 这是一个复杂的查询,用于对比`TABLE1`的当前更新日期(`UPD_DATE`)和之前的更新日期(`PREV_UPD_DATE`),可能用于追踪数据的历史变化。 以上就是文档中整理的Oracle SQL语句及其用途。这些语句在数据库管理和数据分析中非常实用,能够帮助用户高效地处理和操作数据。