“子查询”就是查询中嵌套着另一个查询,也即通过SELECT语句的嵌套使用形成子查询。当我们不知道特定的查询条件时,可以用子查询来为父查询提供查询条件以获得查询结果。

子查询先清除子查询 在清除主查询

子查询必须放在括号内。

单行子查询并不是最后输出的结果只能返回一行,而是指子查询只能返回一行

employee_id:员工的工号

department_id:部门编号

department_name:部门名称

exists:是否存在 ★ 关联子查询

employees和departments 两个表

is not null:不是空值

in包含里面的条件 个人这么理解

SQL> select e.department_id ,d.department_name,e.salary from employees e, departments d where e.department_id=d.department_id;
多表连接查询部门编号,名称,工资的命令。

条件里面有in 子查询里面可以不加 is not null 如果是not in 则必须加 is not null is not null不是空值

in not in 受null的影响

单行子查询的思路:
SQL> select salary from employees where last_name='Feeney';
SQL> select last_name from employees where salary>3000;
SQL> select last_name from employees where salary>(select salary from employees where last_name='Feeney');

多行子查询的思路:
SQL> select distinct department_id from employees where department_id is not null;
SQL> select department_name from departments where department_id in (10, 20,30);
SQL> select department_name from departments where department_id in (select department_id from employees where department_id is not null);

用多表连接改写:
select distinct d.department_name
from employees e, departments d
where e.department_id=d.department_id

Oracle课程档案,第四天的更多相关文章

  1. Oracle课程档案,第十四天

    备份数据文件:SQL> select file_id, file_name from dba_data_files; backup:备用(备份) datafile:数据文件 backup tab ...

  2. Oracle课程档案,第十七天

    flashback drop 闪回下降(删除)SQL> show parameter recyclebinSQL> purge recyclebin;(清除回收站)SQL> crea ...

  3. Oracle课程档案,第十六天

    restore:恢复文件 recover: 恢复日志 丢失current日志组(正常关闭数据库):故障:SQL> select group#, status from v$log; 确认curr ...

  4. Oracle课程档案,第十五天

    restore:恢复数据文件 recover:写日志 1.redo(roll forward)重做 (前进) 2.undo(roll back) 撤销 (回滚) cp -r:删除一个目录 archiv ...

  5. Oracle课程档案,第十三天

    配置可恢复性: ontrol_files:控制文件 parameter:参数 show:显示 select name from v$database; 查看当前的数据库★★ 控制文件SQL> s ...

  6. Oracle课程档案,第十二天

    死锁是由于两个对象在拥有一份资源的情况下申请另一份资源, 而另一份资源恰好又是这两对象正持有的,导致两对象无法完成操作,且所持资源无法释放. 阻塞是由于资源不足引起的排队等待现象. unso:撤销 c ...

  7. Oracle课程档案。第十一天

    读一致性:oracle通过多版本与闪回机制保证读一致性.保证从某个时间点开始查询是一致的.在Oracle中主要通过SCN版本号来控制系统修改的版本,典型的例子是我们可以通过在同一个查询中得到同一个对象 ...

  8. Oracle课程档案,第十天

    用户管理 Authentication: 身份验证 AAA:Authentication: 身份验证 Authorization: 权限管理 Audition: 审计 grant:授权 unset:撤 ...

  9. Oracle课程档案,第九天

    lsnrctl status:查看监听状态 Oracle网络配置三部分组成:客户端,监听,数据库 配置文件:$ vi $ORACLE_HOME/network/admin/listener.ora v ...

随机推荐

  1. Git结合tar自动打升级包

    背景最近在看Git,那么看了之后就需要用Git来解决一些工作中遇到的问题,学了不能用在工作中,等于白学. 这次遇到的问题是打包升级的问题,我们公司目前还处于最原始的手工打更新包的状况,每次打包都要找开 ...

  2. 前端后台以及游戏中使用Google Protocol Buffer详解

    前端后台以及游戏中使用Google Protocol Buffer详解 0.什么是protoBuf protoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,与XML相比,protoBuf更 ...

  3. 基于java实现的简单区块链

    技术:maven3.0.5 + jdk1.8   概述 区块链是分布式数据存储.点对点传输.共识机制.加密算法等计算机技术的新型应用模式.所谓共识机制是区块链系统中实现不同节点之间建立信任.获取权益的 ...

  4. 一个网站SEO优化方案

    首先,前端/页编人员主要负责站内优化,主要从四个方面入手: 第一个,站内结构优化 合理规划站点结构(1.扁平化结构 2.辅助导航.面包屑导航.次导航) 内容页结构设置(最新文章.推荐文章.热门文章.增 ...

  5. Docker在windows下的使用【二】

    可参考学习地址: 极客学院docker教程,还不错,可以参考 1.Dockerhub下载镜像 下载地址:Dockerhub地址 有两种方式可以获得新的镜像 直接从dockerhub下载编译好的imag ...

  6. MySQL的reset master

    删除index文件中列出的所有二进制日志文件,将index文件清空,并创建一个新的二进制日志文件. 使用这个命令要很小心,以免丢失二进制日志文件数据. reset master也会清空gtid_pur ...

  7. Ubuntu安装cuda

    到官网选择对应的cuda版本.cuda跟显卡的驱动是有个依赖关系的.参见这篇博客 然后按照提示,运行按照程序 sudo sh cuda_10..130_410.48_linux.run 然后安装完成后 ...

  8. bat搜集

    1. 删除文件夹下指定名称的所有子文件夹 @echo off ::设置要保留的文件夹名,多个文件夹之间用英文逗号隔开,如果包含空格或英文逗号,英文&以及其它一些特殊字符的名字,请把该完整名字用 ...

  9. SQLSERVER数据库调优

    1.锁表查询 --查看锁住的表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName ...

  10. C语言 goto语句

    /* goto语句 */ #include <stdio.h> #include <stdlib.h> #include <string.h> /* goto语句也 ...