Oracle 第13章 当一个查询依赖另一个查询

 高级子查询   子查询(subquery)

知识点一:  多表连接之间的关系

例如 希望知道哪种种类的书籍已经借出去了。

select distinct c.parent_catagory, c.sub_category

from category c, bookshelf b, bookshelf_checkout bc

where c.category_name = b.category_name and b.title = bc.title

distinct 关键字 去重

此例中的3表关联的 之间的关系:要连接3表必须把其中两个表与第三个表连接起来。

1.CATEGORY 表连接到 BOOKSHELF表, 它们连接的结果再与 BOOKSHELF_CHECKOUT表连接。  DISTINCT字句去重

注意:并不是每个表都与其它每个表相连接。表之间的连接通常比被连接的表的数量少1.

知识点二: 相关子查询

a.where 子查询      where字句 可以包含SELECT语句的子查询, where 子查询的子句where 还可以嵌套

select distinct c.parent_categorty, c.sub_category

from categort c

where category_name in

  (select category_name from bookshelf

   where title in

     (select title from bookshelf_checkout) 

  );

这个查询与知识点一中的查询结果一样

a: 子查询可以引用在其主查询中使用的表的列(即下例中 bookshelf 表中没有title列)

  select title from bookshelf_author

  where title in

    (select title from bookshelf

    where author_name = ‘setphena hay gould’)

时间: 2024-10-25 11:00:40

Oracle 第13章 当一个查询依赖另一个查询的相关文章

【面试题】JAVA 一个线程依赖另外一个线程的结果 2

public class Main { public static class MyCallable implements Callable<Integer>{ public Integer call() throws Exception { return 1; } } public static void main(String[] args) { MyCallable callable=new MyCallable(); FutureTask<Integer> task=new

【面试题】JAVA 一个线程依赖另外一个线程的结果

public class Main { public static class MyCallable implements Callable<Integer>{ public Integer call() throws Exception { return 1; } } public static void main(String[] args) { MyCallable callable=new MyCallable(); FutureTask<Integer> task=new

oracle学习 第一章 简单的查询语句 ——04

1.5 如何在SQL语句中使用算数表达式 可以在SQL语句中使用表达式.在表达式中可以使用一下4种运算符:+,-,*,/ 它们分别代表加.减.乘.除. 设想一下,在某一天,有个社会团体和工会团体参观你们的公司,您的老板为了树立公司的光辉形象,它要求您把午餐和茶水的费用加到员工的工资里并打印一张工资清单.于是您大概算了一下,其费用约合500元/月.之后您用例1-11的查询得到了老板索要的员工的工资清单. 例 1-11 SQL> SELECT empno,ename,sal,500+sal 2 FR

oracle学习 第一章 简单的查询语句 ——03

1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示所有的列,它与在select 之后列出所有的列名是一样的.查询语句以分号( ; )结束.emp(employee)是一个员工表. 1.2 在查询语句中如何选择特定的列 在平时的使用过程中我们需要的往往只是一张表中的某一条或者某几条数据而已,但上面查询的结果可能看起来比较乱.如果我们指向知道若干个特定列的信息,使用select 语句很容易就可以做到.就好比我们去菜市场买东西,不会

【Android】13.0 第13章 创建和访问SQLite数据库&mdash;本章示例主界面

分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们主要学习如何使用SQLite数据库存取数据. 1.SQLite是个什么档次的数据库 SQLite是一种免费的.开源的数据库,由于它独特的设计(把各种数据类型都转换为它自己内部处理的5种类型)导致其占用内存极少,因此很多项目都喜欢使用它. Android集成了SQLite并内置了专门对SQLite操作

第 13 章

13.1 [出题思路] 理解拷贝构造函数的基本概念. [解答] 如果构造函数的第一个参数是自身类类型的引用,且所有其他参数(如果有的话)都有默认值,则此构造函数是拷贝构造函数.拷贝构造函数在以下几种情况下会被使用: 拷贝初始化(用 = 定义变量). 将一个对象作为实参传递给非引用类型的形参. 一个返回类型为非引用类型的函数返回一个对象. 用花括号列表初始化一个数组中的元素或一个聚合类中的成员. 初始化标准库容器或调用其 insert/push 操作时,容器会对其元素进行拷贝初始化. 13.2 [

查询出每一个雇员的姓名,工资,部门名称,工资在公司的等级及其领导的姓名,领导的工资,以及领导所相应的等级

如题: 查询出每一个雇员的姓名,工资,部门名称,工资在公司的等级及其领导的姓名,领导的工资,以及领导所相应的等级 这是oracle的默认Scott用户以下的emp.dept 和 salgrade 表间的一道思考题. 雇员表(emp) 记录了每一个雇员的基本信息 NO  字段         类型            描写叙述 1     empno       Number(4)    雇员编号 2     ename       Varchar2(10)      雇员姓名 3     jo

第13章 linux系统管理技巧(日常运维管理技巧)

这一章的内容是核心,以后会用的几率也是很大的,只要掌握必备的基础知识,做初级系统管理员是不成问题的. 13.1监控系统的状态 作为一个运维工程师.系统管理员,如果对自己的系统不了解的话,那怎么排查问题呢?如果出现问题的话,肯定要查一下是什么问题,哪里的问题,系统的资源的耗费情况如何查看. 13.1.1使用w命令查看当前系统的负载 第一部分是系统时间,使用date命令也可以查看当前时间. 第二部分是系统运行时间 第三部分是登陆了几个用户,从下面可以看到,也可以看到登录了哪个终端.如果是网络登录的话

JavaScript权威指南第13章 web浏览器中的javascript

13.1 客户端javascript window对象是所有的客户端javascript特性和api的主要接入点.表示浏览器的一个窗口,可以通过window对象来引用它. window 的方法 alert() prompt() confirm() 13.2 在html里嵌入javascript 4种方法: 内联:放置在<script></script>标签之中 外部引入:<script src="   "></script> html程序