oracle <>
2017-10-30 19:16
113 查看
场景:数据库中两个表 表1 表2
1 . 其中表2是表1的一个附属表;
2 . 两个表中各有一个生成时间,表1中时间不变,表2中修改用户信息时会变;
3 . 查询sysdate-表1中时间>30且sysdate-表2中时间>30的用户会员号;
语句1:
SELECT A.会员号
FROM
(SELECT t.*FROM 表1 twhere SYSDATE -
TO_DATE(表1.时间,'yyyyMMddHH24MISS')
>30) A,
(SELECT t2.会员号 表1 t2,表2
t1 WHERE 表1.会员号=表2.会员号AND SYSDATE -表1.时间>30 AND SYSDATE -表2.时间<30)
C
WHERE
A.会员号
<> C.会员号;
若A中语句过滤出了10条数据,C中过滤出2条数据,不看结果,分析应该是得到8条结果;
实际上得到18条数据,DISTINCT 后发现是10条数据,分析是临时表A与临时表C做过滤时对比了两遍,一次少一条<>的数据,查询得到的结果为A的数据条数X
C的数据条数-C的数据条数;
修正后语句:
SELECT A.会员号
FROM
(SELECT t.*FROM 表1 twhere SYSDATE -
TO_DATE(表1.时间,'yyyyMMddHH24MISS')
>30) A
WHERE A.会员号NOT IN
(SELECT t2.会员号 表1 t2,表2
t1 WHERE 表1.会员号=表2.会员号AND SYSDATE -表1.时间>30 AND SYSDATE -表2.时间<30);
由上得出<>号只适用于单个数据;
注:<>
与 NOT IN 会过滤null;
希望对你有帮助,祝你有一个好心情,加油!
若有错误、不全、可优化的点,欢迎纠正与补充!
1 . 其中表2是表1的一个附属表;
2 . 两个表中各有一个生成时间,表1中时间不变,表2中修改用户信息时会变;
3 . 查询sysdate-表1中时间>30且sysdate-表2中时间>30的用户会员号;
语句1:
SELECT A.会员号
FROM
(SELECT t.*FROM 表1 twhere SYSDATE -
TO_DATE(表1.时间,'yyyyMMddHH24MISS')
>30) A,
(SELECT t2.会员号 表1 t2,表2
t1 WHERE 表1.会员号=表2.会员号AND SYSDATE -表1.时间>30 AND SYSDATE -表2.时间<30)
C
WHERE
A.会员号
<> C.会员号;
若A中语句过滤出了10条数据,C中过滤出2条数据,不看结果,分析应该是得到8条结果;
实际上得到18条数据,DISTINCT 后发现是10条数据,分析是临时表A与临时表C做过滤时对比了两遍,一次少一条<>的数据,查询得到的结果为A的数据条数X
C的数据条数-C的数据条数;
修正后语句:
SELECT A.会员号
FROM
(SELECT t.*FROM 表1 twhere SYSDATE -
TO_DATE(表1.时间,'yyyyMMddHH24MISS')
>30) A
WHERE A.会员号NOT IN
(SELECT t2.会员号 表1 t2,表2
t1 WHERE 表1.会员号=表2.会员号AND SYSDATE -表1.时间>30 AND SYSDATE -表2.时间<30);
由上得出<>号只适用于单个数据;
注:<>
与 NOT IN 会过滤null;
希望对你有帮助,祝你有一个好心情,加油!
若有错误、不全、可优化的点,欢迎纠正与补充!
相关文章推荐
- Oracle 备份与恢复<收藏>
- 原创:oracle PL/SQL编程基础 上<十一>
- oracle笔记 <只是基本知识。。。>
- 配置Oracle遇到问题<一>
- oracle安装后 tomcat启动报 Address already in use: JVM_Bind<null>:8080 错误 的几种解决方法
- << Oracle高可用>>部分书面作业 - 第十二课 Oracle 流技术(streams)
- <<Oracle Applications DBA 基础(第二期)>>Week 13 exercise
- Vertica的这些事<七>—— Vertica中实现Oracle中的ws_concat功能
- 原创:oracle PL/SQL编程基础 下<十二>
- <ORACLE 数据库管理指导> 其中不乏错误认识 读者请帮忙指正
- Oracle 中"=" 和 "<>" 的用法
- ./sqlplusSP2-0667: Message file sp1<lang>.msb not found。SP2-0750: You may need to set ORACLE_HOME t
- <<Oracle E-Business Suite : ERP DBA实践指南>> - 简评
- 品味性能之道<十>:Oracle Hint
- <转>Oracle PGA 使用控制
- oracle 用户的管理<二>
- <<卸甲笔记>>-Oracle线下迁移到PPAS
- 【翻译自mos文章】rac数据库中,HC_<SID>.dat文件被其他Oracle_Home下的实例所使用。
- << Oracle高可用>>部分书面作业 - 第十三课 Oracle高级复制
- 原创:oracle中单行函数介绍 <五>