oracle什么时候用in,Oracle Study之---Oracle IN和NOT IN的使用

Oracle Study之---Oracle IN和NOT IN的使用

NOT IN 与  IN 的区别:

------------------------------------------------------------------------------------------------------

not In 相当于<> all,如果 Not In 后面跟的是子查询的话,子查询中只要包含一个 null 的返回值,则会造成

整个 Not in 字句返回空值,结果就是查询不会返回任何结果。

而 in 相当于=any的意思,可以有效处理子查询中返回空值的情况,返回正确的结果。

------------------------------------------------------------------------------------------------------

NOT IN示例:

--该例子想要返回没有下属的职员的姓名,如果子查询中有空值返回的话,则整个查询将没有结果返回11:20:02 SYS@ test3 >conn scott/tiger

Connected.

11:21:18 SCOTT@ test3 >select * from emp;

EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO

---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------

7369 SMITH      CLERK           7902 1980-12-17 00:00:00        800                    20

7499 ALLEN      SALESMAN        7698 1981-02-20 00:00:00       1600        300         30

7521 WARD       SALESMAN        7698 1981-02-22 00:00:00       1250        500         30

7566 JONES      MANAGER         7839 1981-04-02 00:00:00       2975                    20

7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30

7698 BLAKE      MANAGER         7839 1981-05-01 00:00:00       2850                    30

7782 CLARK      MANAGER         7839 1981-06-09 00:00:00       2450                    10

7788 SCOTT      ANALYST         7566 1987-04-19 00:00:00       3000                    20

7839 KING       PRESIDENT            1981-11-17 00:00:00       5000                    10

7844 TURNER     SALESMAN        7698 1981-09-08 00:00:00       1500          0         30

7876 ADAMS      CLERK           7788 1987-05-23 00:00:00       1100                    20

7900 JAMES      CLERK           7698 1981-12-03 00:00:00        950                    30

7902 FORD       ANALYST         7566 1981-12-03 00:00:00       3000                    20

7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300                    10

14 rows selected.

11:20:11 SCOTT@ test3 >select empno from emp

11:20:21   2            where empno NOT IN (select mgr from emp);

no rows selected

说明:

Null Values in a Subquery

The SQL statement in the slide attempts to display all the employees who do not have any

subordinates. Logically, this SQL statement should have returned 12 rows. However, the SQL

statement does not return any rows. One of the values returned by the inner query is a null value and,

therefore, the entire query returns no rows

The reason is that all conditions that compare a null value result in a null. So whenever null values

are likely to be part of the resultsset of a subquery, do not use the NOT INoperator. The NOT IN

operator is equivalent to <> ALL.

---------------------------------------------------------------------------------------------------------

IN的示例:

Notice that the null value as part of the results set of a subquery is not a problem if you use the IN

operator. The IN operator is equivalent to =ANY. For example, to display the employees who have

subordinates(下属), use the following SQL statement:11:20:42 SCOTT@ test3 >select empno from emp

11:21:04   2      where empno in  (select mgr from emp);

EMPNO

----------

7566

7698

7782

7788

7839

7902

6 rows selected.

---------------------------------------------------------------------------------------------------------Alternatively, a WHERE clause can be included in the subquery to display all employees who do nothave any subordinates:--使用 Not In 的话,要注意除掉子查询中将要返回的空值11:27:01 SCOTT@ test3 >select empno from emp

11:27:12   2  where empno NOT IN (select mgr from emp WHERE MGR IS NOT NULL);

EMPNO

----------

7844

7521

7654

7499

7934

7369

7876

7900

8 rows selected.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle中having作用,oracle中having与where的区别

1、where 不能放在group by 的后面2、HAVING 是跟GROUP BY 连在一起用的&#xff0c;放在GROUP BY 后面&#xff0c;此时的作用相当于WHERE3.WHERE 后面的条件中不能有聚集函数&#xff0c;比如SUM(),AVG()等&#xff0c;而HAVING 可以where 条件group by 某个或某几个字段gro…

linux系统支持u盘格式,linux下U盘格式化

第一步&#xff0c;手动将挂在的U盘分区卸载&#xff1a;umount /dev/sdbumount /dev/sdb1第二步&#xff0c;准备格式化U盘&#xff0c;这里要提一句&#xff0c;U盘要被格式化成为fat格式&#xff0c;而用到的命令是mkfs.vfat这个命令要注意&#xff0c;根据你要格式化分区格…

Linux怎么查看保存的密码,在Linux中查看已保存的WiFi密码

在安装流行操作系统时&#xff0c;如 Windows 10、Ubuntu、macOS 等&#xff0c;都会要求用户提前输入 WiFi 密码。特别是 Ubuntu 系统&#xff0c;在配置安装向导时就可以连接 WiFi&#xff0c;以方便在系统安装过程就从网络获取最新更新&#xff0c;并在安装完成后就为用户提…

怎么判断linux22端口是否通,在Linux环境下使用SSH判断端口是否通(示例代码)

在Linux环境下使用SSH判断端口是否通在windows/linux环境下&#xff0c;可以使用telnet判断端口状态&#xff0c;但有时候在Linux环境下没有telnet&#xff0c;所以可以使用ssh判断端口状态。一、ssh使用方法&#xff1a;命令&#xff1a;ssh -v -p port [email protected]说明…

linux磁盘管理的命令行,Linux磁盘管理命令介绍

fdisk [options] device常用选项有&#xff1a;d删除一个分区n创建一个分区p显示分区信息t修改分区的系统idw保存分区表并推出q退出不保存创建分区时&#xff0c;如果分区数目大于4个&#xff0c;就要建立扩展分区&#xff0c;如果没有把全部磁盘容量给扩展分区&#xff0c;那…

linux 网卡 巨帧,Linux Kernel e1000e驱动巨型帧处理绕过安全检查漏洞

发布日期&#xff1a;2009-12-29更新日期&#xff1a;2010-01-13受影响系统&#xff1a;Linux kernel 2.6.32.3描述&#xff1a;--------------------------------------------------------------------------------BUGTRAQ ID: 37523CVE(CAN) ID: CVE-2009-4538Linux Kernel是…

linux将访问日志切成每天,最简单自动切割 nginx 访问日志示例

网站上线后&#xff0c;没怎么注意过日志&#xff0c;有一天需要查日志时&#xff0c;才发现竟然有 100 多个 G&#xff0c;一个文本文件竟然有 100 多个G&#xff0c;这也太大了。nginx 是一个非常轻量的 web 服务器&#xff0c;体积小、性能高、速度快等诸多优点。但不足的是…

linux脚本实现红绿灯,javascript 如何实现红绿灯效果呢?

摘要:下文讲述js实现红绿灯效果的方法分享&#xff0c;如下所示:实现思路:1.使用setinterval 重复调用颜色输出函数2.使用promise实现例://使用setInterval实现循环调用函数var n 0;function setRYG () {if (n % 3 0) { console.log(red) }else if (n % 3 1) { console.log(…

linux下如何启动vsftp服务,如何在Ubuntu 18.04上使用VSFTP快速设置FTP服务器

如果您需要配置一个FTP服务器快速启动运行&#xff0c;那么VSFTP的易用性是无与伦比的。如果你想将应用程序迁移到最新版本Ubuntu Linux服务器中&#xff0c;并且需要快速启动并运行FTP服务器。如何操作&#xff1f;这实际上非常简单。这里将使用VSFTP服务器向您展示如何做到这…

红帽linux kvm,初识RedHat虚拟化—KVM

redhat虚拟化之KVM初识虚拟化简介&#xff1a;虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量&#xff0c;简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行&#xff0c;允许一个平台同时运行多个操作系统&#xff0…

Linux中的软件源详解,Ubuntu Linux 软件源详解

中国台湾 台湾大学更新服务器(推荐网通用户使用&#xff0c;强烈推荐此源&#xff0c;比较完整)&#xff1a;deb http://Ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy main restricted universe multiversedeb-src http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy main restricted univ…

c 语言差错编码实验结果,C语言程序设计实验报告(四).doc11111111111111111.doc

C语言程序设计实验报告(四).doc11111111111111111C语言程序设计实验报告姓 名吴文重学 号52系 别数学系班级2班主讲教师徐时芳指导教师徐时芳实验日期2011-11-8专业10数本二班课程名称C语言程序设计同组实验者一、实验名称&#xff1a;实验四、循环结构程序设计实验目的&#x…

c语言在键盘输入abc回车,C语言期末考试试卷子商务1111、21.doc

C语言期末考试试卷子商务1111、21(所有题目答案请写在答题纸上)一、单项选择题(每题2分, 共60分)键盘输入为“123 ABC”时&#xff0c;下列程序的输出为_______#inclde int main( void ){char str[80];gets(str);puts(str);return 0;}A&#xff0e;123 ABCB&#xff0e;struct …

9 10次c语言上机作业答案,C语言第五次上机作业参考答案

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#define N 3void average(int x[N][10]);void findgood(int x[N][10]);void findfail(int x[N][10]);void main(){//0:学号,1-5:成绩,6:平均分,7:第一门平均分,8:是否及格,9:是否优秀int stu[N][10]{0},i,j,s[N]{0};printf…

c语言 回合制小游戏,一个回合制小游戏的设计笔记

发在这的目的&#xff1a;1.做个记录2.与人交流讨论场景&#xff1a;二维方格组成的场景&#xff0c;一个格子里只能有一个单位&#xff0c;每个单位都会占据自己的格子。行为&#xff1a;每个回合里&#xff0c;每个单位都有一定的行为点数&#xff0c;单位的任何行为都需要消…

android menuitem 字体颜色,安卓更改Menu的字体颜色(使用actionLayout,适用于多个fragment)...

与普通menu不一样的是&#xff0c;需要改变字体颜色的Item使用了app:actionLayou属性(使用android:actionLayout不起作用)&#xff0c;个人测试当使用了这个属性&#xff0c;android:title将不会显示。上图为actionLayout的布局&#xff0c;使用padding是因为margin不起作用上图…

android 格式化分区,Android FAT分区格式化

如果要在机器内部的EMMC上创建SDCARD分区&#xff0c;就需要把它格式化成FAT文件系统&#xff0c;否则开机后&#xff0c;会提示你的sdcard需要格式化。我这里说一下怎么去用烧写image的方式去格式化sdcard分区。以下步骤都是在ubuntu系统上做的。1.首先要知道自己的sdcard分区…

pc版android sd卡,告别瓶颈:安卓闪存(SD卡)I/O优化

告别瓶颈&#xff1a;安卓闪存(SD卡)I/O优化闪存(SD卡)调度器现在电脑的瓶颈往往不是什么内存CPU&#xff0c;而且吱吱嘎嘎的硬盘。在安卓机上&#xff0c;情况十分类似——虽然安卓机和SSD一样使用闪存&#xff0c;但没有专门的主控&#xff0c;速度好不到哪里去。由于成本限制…

android 常用开发插件,Android Studio 开发利器【常用插件】

1.ADB IdeaADB操作快捷菜单&#xff0c;快速清除数据&#xff0c;重启应用&#xff0c;卸载应用等快捷键&#xff1a;Windows: CtrlAltShiftAMac OSX: CtrlShiftA当然&#xff0c;你可以在KeyMap处修改为自己喜欢的按键。2.postfix支持Log,Toast,Logd的快速书写3.AndroidCodeGe…

android mov转mp4格式转换,如何在线将MOV文件转换成MP4文件?

Renee Video Editor-功能强大的视频编辑软件免费 软件免费试用(仅限非商业用途)。视频剪辑 支持简易剪辑、批量剪辑、高级剪辑。操作简单 界面简洁&#xff0c;只需简单几步即可快速完成操作。功能强大软件还支持剪切、裁剪、旋转、转换、合并、特效、水印、字幕等多种功能。格…