`
jhyimu2005
  • 浏览: 185980 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

SQL学习笔记-嵌套查询

SQL 
阅读更多

http://www.cnitblog.com/taihang/archive/2006/06/12/12100.html

 

 嵌套查询
定义:
1 .指在一个外层查询中包含有另一个内层查询。其中外层查询称为主查询,内层查询称为子查询。
2 .SQL允许多层嵌套,由内而外地进行分析,子查询的结果作为主查询的查询条件
3 .子查询中一般不使用order by子句,只能对最终查询结果进行排序
子查询(sub query)
where  表达式  [ not ]   in  (子查询)
where  表达式 比较运算符 [ any|all ]  子查询
where   [ not ]   exists  (子查询)

1 .子查询-单值比较
返回单值子查询,只返回一行一列
主查询与单值子查询之间用比较运算符进行连接:
运算符:
> , >= , < , <= , = , <>
例:找出与太行同龄的同事
select   *   from  company
where  age  =  ( select  age  from  company
             
where  name = taihang)

2 .子查询- in
例:查询选修了‘
001 ’课程的学生学号,姓名。
select  id,name
from  student
where  id  in  ( select  id 
             
from  taihang
             
where  id = ' 001 ' )

3 .子查询-多值比较all
多行一列
1 .父查询与多值子查询之间的比较需用all来连接
2 .标量值S比子查询返回集R中的每个都大时,s >all ,r为true
3 .all表示所有
4 . >all , <all , >=all , <=all , <>all ,注:all等价于not  in
例:找出年龄最小的学生
select   *   from  student
where  age <all ( select  age  from  student)

4 .子查询-多值比较some /any
1 .父查询与多值子查询之间的比较需用some / any来连接
2 .标量值S比子查询返回集r中的某一个都大时,s > some时r为true 或s > any时r为true
3 .some表示部分
4 . >some , >=some , =some , <some , <=some , <>some ,注: = some等价于in, <> some不等价于not  in .
例:找出不是最小年龄的学生
select   *   from  student
where  age  >   some ( select  age  from  student)

5 .子查询-存在判断exists
1 . exists+ 子查询用来判断该子查询是否返回元组
2 .当子查询的结果集非空时,exists为true
3 .当子查询的结果集为空时,exists为false
4 .不关心子查询的具体内容,因此用select  *
例:列出先修了C01课程的学习的学号,姓名
select  son,sname
from  strdent
where   exists ( select   *   from  sc
             
where  sc.sno = stusent.sno  and
             cno
= ' C01 ' )
最后这一个不是很好理解呀!等用多了就好了。

分享到:
评论

相关推荐

    sql学习笔记-轻松掌握sql

    这份“sql学习笔记”涵盖了SQL的基础概念、语法和实用技巧,帮助初学者轻松掌握SQL的核心知识。 一、SQL基础 1. 数据库与表:SQL中的数据库是一个组织数据的集合,由一个或多个表组成。表是由行和列构成的数据结构...

    SQL学习笔记(pdf)

    这份"SQL学习笔记"涵盖了SQL的基础概念、语法以及高级特性,是学习数据库管理和数据分析的宝贵资料。 1. **SQL基础** - 数据库概念:了解什么是数据库,它的作用以及数据库管理系统(DBMS)如何工作。 - SQL简介...

    Oracle 10g 学习笔记

    │ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...

    高效SQL学习笔记

    《高效SQL学习笔记》 SQL,全称Structured Query Language,即结构化查询语言,是用于管理关系数据库的标准语言。高效地掌握SQL对于任何IT从业者,尤其是数据分析师、数据库管理员和开发人员来说,都是至关重要的...

    SqlServer 2005 T-SQL Query 学习笔记(1)

    本文主要探讨了T-SQL查询中的几个关键概念,包括`SELECT`语句、嵌套查询、多重引用、Common Table Expressions (CTE)以及如何使用CTE进行数据操作。 首先,`SELECT`语句是SQL查询的核心部分,它用于指定查询返回的...

    sql学习笔记 常见问题总结

    SQL(Structured Query ...以上只是SQL学习笔记中的部分要点,实际应用中还需要结合具体数据库系统(如MySQL、Oracle、SQL Server等)的特点和最佳实践。通过持续学习和实践,才能真正精通SQL,成为数据管理的高手。

    SQL_Server学习笔记

    在标题“SQL_Server学习笔记”和描述“关于SQL学习的笔记,可以在有SQL基础之上,平时学习或者工作开发时当做查阅资料”中,我们可以得知这份文件是一份SQL Server的学习资料。这部分内容将涵盖SQL Server的基础知识...

    SQL学习笔记一

    总的来说,“SQL学习笔记一”涵盖了SQL的基础知识,包括基本语法、数据处理、表连接、查询优化等方面。深入学习并熟练掌握SQL,能帮助你在数据处理和分析工作中游刃有余。而配合合适的工具和编程接口,你将能够更...

    PL/SQL学习笔记

    什么是集合? 集合是用来存放大量数据的一种容器 PL/SQL有三种集合 联合数组 ...学习状态:学一个东西,有欲望,写东西出来 三段式:被动,自发,自动 java-web 自己写一个,从四月开始到中旬任务

    SQL学习笔记二

    在SQL学习笔记二中,我们将深入探讨SQL语言的各个方面,特别是在数据操作和查询优化上的关键概念。这篇笔记基于博主在iteye.com上分享的经验,旨在帮助读者深化对SQL的理解,提高实际开发中的应用技巧。 首先,我们...

    快学上手的SQL自学教材-SQL21日自学通

    《SQL21日自学通》是一本专门为初学者设计的SQL学习教材,旨在帮助读者在短时间内掌握SQL的基础知识和实际应用技巧。SQL,全称Structured Query Language,即结构化查询语言,是用于管理关系数据库的标准语言。通过...

    SQL基础教程学习笔记.pdf

    从提供的文件信息来看,这份《SQL基础教程学习笔记.pdf》文件是关于SQL数据库基础知识的学习材料。内容包括但不限于:数据库系统、SQL语言的结构、表的操作、查询基础、数据更新、函数和谓词、复杂查询、集合运算、...

    MySQL学习笔记2-高级查询与存储.md

    子查询指的是在一个查询语句内部嵌套另一个查询语句。这种查询方式能够根据内层查询的结果来进一步筛选外层查询的条件或结果集。 **应用场景**:例如,我们需要找出所有部门名称为“HR”的员工的名字,可以通过如下...

    2009达内SQL学习笔记

    多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号结束 二、写子句顺序 Select column,group_function From table [Where condition] ...

    sql server学习笔记

    SQL Server 学习笔记 SQL Server 是一种关系数据库管理系统,从事数据库管理的人士可以通过本学习笔记快速了解 SQL Server 的主要特点和知识点。 创建、删除、修改数据库对象 * Create:创建数据库对象,如表、...

    学习oracle笔记-PLSQL

    - **概念**:块是PL/SQL的基本程序单元,它可以嵌套在其他块中以实现更复杂的功能。 - **结构**:一个完整的块通常包括定义部分、执行部分和例外处理部分。其中定义部分是可选的,而执行部分是必须的。 - **定义...

    经典sql语句笔记(sql 关键字)

    1. 子查询:嵌套在其他查询中的查询,常用于比较或过滤数据,例如: ```sql SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2); ``` 2. 连接查询:将两个或更多表的数据结合在一起,如`INNER ...

    day01-sql安装与SQL语句-笔记.zip

    在本压缩包“day01-sql安装与SQL语句-笔记.zip”中,我们可以预见到包含的内容主要是关于SQL(Structured Query Language)的基础知识,包括SQL的安装过程以及基本的SQL语句。SQL是用于管理和处理关系数据库的强大...

    SQL 数据库语言学习笔记

    本篇“SQL数据库语言学习笔记”将深入探讨SQL的基本概念、语法和常用操作,帮助你掌握这个强大的工具。 一、SQL简介 SQL起源于1970年代,由IBM的研究员开发,其设计目标是为了解决日益复杂的数据查询和管理问题。...

Global site tag (gtag.js) - Google Analytics