`
mengdejun
  • 浏览: 405337 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL进行嵌套查询

    博客分类:
  • Sql
SQL 
阅读更多
select 雇员表.雇员编号, 雇员表.姓名, 雇员表.职务, 雇员表.薪水 from 雇员表, 部门表 where exists (select * from 雇员表 where 雇员表.部门编号 = 部门表.部门编号)

 在SELECT查询语句里可以嵌入SELECT查询语句,称为嵌套查询。

有些书上将内嵌的SELECT语句称为孒查询,子查询形成的结果又成为父查询的条件。

子查询可以嵌套多层,子查询操作的数据表可以是父查询不操作的数据表。

子查询中不能有Group BY分组语句

1.简单嵌套查询

     语句范例 :

    

 select 单价表.客户, 单价表.产品名, 单价表.单价 from 单价表  where 单价表.产品名 = (select  产品表.产品名 from 产品表 where 产品表.产品ID =  "102-5000")

      说明:

     查询得到单价表里满足产品名为产品表里产品ID为“102-5000”的产品的相关信息

    2.带【in】的嵌套查询

     语句范例 :

      

select 雇员表.雇员编号, 雇员表.姓名, 雇员表.职位, 雇员表.薪水 from 雇员表 where 薪水 in (select  薪水 from  雇员表 where 姓名='张三')

      说明:

     查询得到雇员表里满足薪水符合姓名为张三的薪水的所有雇员的相关信息,比如 in(1000,1500,2000)表示薪水=1000或1500或2000的情况。注:此语句完成的查询薪水和张三相等的职员,也可以使用【not in】来进行相反的查询

3.带【any】的嵌套查询

     语句范例 :

     

select 雇员表.雇员编号,雇员表.姓名, 雇员表.职务, 雇员表.薪水 from 雇员表 where 薪水> any (select 薪水 from 雇员表 where 职务=‘工程师’)

      说明:

     查询得到薪水比职务为工程师的薪水要高的职员信息。例如子查询结果为(2000,1500,1000),父查询的条件为"薪水>2000 or 薪水>1500 or 薪水>1000"

4.带【some】的嵌套查询

       语句范例 :

     

select 雇员表.雇员编号,雇员表.姓名, 雇员表.职务, 雇员表.薪水 from 雇员表 where 薪水= some (select 薪水 from 雇员表 where 职务=‘工程师’)

      说明:

     查询得到薪水和职务为工程师的薪水一样的职员信息,也就是和任意一个工程师的薪水相等的职员信息。例如子查询结果为(2000,1500,1000),父查询的条件为"薪水=2000 or 薪水=1500 or 薪水=1000"。

      带【any】的嵌套查询和【some】的嵌套查询功能是一样的。早期的SQL仅仅允许使用【any】,后来的版本为了和英语的【any】相区分,引入了【some】,同时还保留了【any】关键词。

5.带【all】的嵌套查询

     语句范例 :

    

  select 雇员表.雇员编号,雇员表.姓名, 雇员表.职务, 雇员表.薪水 from 雇员表 where 薪水> all (select 薪水 from 雇员表 where 职务=‘工程师’)

      说明:

     查询得到薪水比任一工程师薪水都要高的职员信息。例如子查询结果为(2000,1500,1000),父查询的条件为"薪水>2000 and 薪水>1500 and 薪水>1000"。

6.带【exists】的嵌套查询

     语句范例 :

          说明:

     查询得到雇员表和部门表的部门编号相匹配的所有雇员信息。

7.并操作【union】的嵌套查询

     语句范例 :

 (select 部门编号 from 雇员表) union (select 部门编号 from 部门表)

 

     说明:

     并操作就是集合中并集的概念。属于集合A或集合B的元素的总和就是并集。注:该操作的嵌套查询要求属性具有相同的定义,包括类型和取值范围。

8.交操作【intersect】的嵌套查询   

     语句范例 :

 

(select 部门编号 from 雇员表) intersect (select 部门编号 from 部门表)

 

     说明:

     交操作就是集合中交集的概念。属于集合A且属于集合B的元素的总和就是交集。注:该操作的嵌套查询要求属性具有相同的定义,包括类型和取值范围。

9.差操作【minus】的嵌套查询

     语句范例 :

   

  (select 部门编号 from 部门表) minus (select 部门编号 from 雇员表)

      说明:

      差操作就是集合中差集的概念。属于集合A(前一个孒查询结果)且不属于集合B(后一个孒查询结果)的元素的总和就是差集。注:该操作的嵌套查询要求属性具有相同的定义,包括类型和取值范围。

分享到:
评论

相关推荐

    SQL Server嵌套查询.pdf

    无论是对于初学者还是经验丰富的数据库管理员,掌握嵌套查询的知识都是进行复杂SQL数据查询不可或缺的一部分。通过阅读这篇有关SQL Server嵌套查询的文章,我们可以进一步扩展对SQL Server查询语言的理解和应用。

    C#+SQL 数据库嵌套查询一例(附代码)

    C#+SQL 数据库嵌套查询一例(附代码),以订单和职工信息为基准,来综合查询订单信息,先查询没有订单的员工信息,然后查询至少经过一次订单的员工信息查询,而后将嵌套查询结果显示于窗体的dataGridView对象中,对...

    sql嵌套查询练习题

    sql 语句的嵌套查询完整题,只要能全部做完,那查询的问题就不大了

    sql数据库的嵌套查询

    在SQL数据库中,嵌套查询,也称为子查询或内部查询,是一种将一个SELECT-FROM-WHERE语句嵌入到另一个查询语句中的查询方式。嵌套查询允许我们在查询中引用另一个查询的结果,增强了SQL语言处理复杂查询的能力。接...

    数据库SQL编写的嵌套查询

    在SQL语言中,嵌套查询是一种非常强大的工具,它允许在一个查询内部嵌入另一个查询,以实现更复杂的逻辑和数据筛选。以下将详细介绍标题和描述中提到的几个嵌套查询的例子,以及它们所代表的知识点。 1. **子查询...

    SQL语句嵌套查询

    在SQL语言中,嵌套查询是一种强大的工具,它允许在一个查询内部嵌入另一个查询,以实现更复杂的查询逻辑。在SQL2005中,我们可以使用不同类型的子查询来处理各种数据检索任务。以下是关于SQL语句嵌套查询的一些详细...

    SQL Server 嵌套查询.pdf

    《SQL Server 嵌套查询》是一篇关于数据库查询技术的专业文章,主要讲解了SQL Server中嵌套查询的原理和应用。嵌套查询是数据库查询的一种高级形式,它允许在一个SELECT语句中嵌套另一个SELECT语句,以此构建复杂的...

    sql嵌套查询

    下面将详细讲解如何通过SQL嵌套查询来完成这一任务。 ### SQL嵌套查询概念 在SQL中,嵌套查询是指在一个查询语句中包含另一个查询语句。外部查询(主查询)可以引用内部查询(子查询)的结果。嵌套查询可以非常...

    SQL语言嵌套查询和数据更新操作

    在“SQL语言嵌套查询和数据更新操作”这个主题中,我们将深入探讨这些概念。 首先,嵌套查询是指在一个查询语句内部包含另一个查询语句,这种结构使得我们可以基于一个查询的结果来执行另一个查询。例如,在查询...

    VisualC 实效编程 88 SQL语句嵌套

    VisualC 实效编程 88 SQL语句嵌套VisualC 实效编程 88 SQL语句嵌套VisualC 实效编程 88 SQL语句嵌套VisualC 实效编程 88 SQL语句嵌套VisualC 实效编程 88 SQL语句嵌套VisualC 实效编程 88 SQL语句嵌套VisualC 实效...

    数据库作业7:SQL练习4 – SELECT(连接查询、嵌套查询)

    数据查询2—连接查询:同时涉及两个以上的表的查询 连接条件:用来连接两个表的条件 [.] [.] 连接字段:连接条件中的列名称(注意:连接字段类型必须是可比的,但名字...【思考】:如何用SQL表达笛卡尔积×? SELECT Stu

    SQL嵌套查询实践材料

    SQL嵌套查询是数据库操作中的一个关键技巧,它允许在一个SELECT语句中嵌入另一个SELECT语句,以实现更复杂的查询逻辑。这种技术在处理关联数据、子集筛选以及复杂条件判断时尤其有用。以下是对SQL嵌套查询的详细解释...

    sqlserver嵌套事务总结

    该文档从sqlserver事务讲起,详述ACID,@@trancount,在嵌套事务中使用保存点,命名事务等

    PHP+SQL 嵌套查询

    PHP 结合 MySQL 进行嵌套查询(也称为子查询)的例子可以是这样的: 假设我们有两个表,一个是 students 表...附件代码首先创建了一个 PDO 对象来连接数据库,然后执行了上面提到的 SQL 嵌套查询,并打印出查询结果。

    SQL语句嵌套的实例.rar_SQL语句_sql 语句_sql嵌套

    6. **嵌套循环和并行执行**:数据库系统会根据优化器的策略决定如何执行嵌套查询,可能按照顺序逐层执行,也可能并行处理子查询。 7. **性能优化**:虽然子查询能解决复杂问题,但过度嵌套可能导致性能下降。通过...

    第三章SQL数据查询嵌套查询优秀文档.ppt

    第三章SQL数据查询嵌套查询优秀文档 在关系数据库标准语言SQL中,数据查询是指从数据库中提取特定信息的过程。数据查询是数据库管理系统的核心功能之一,通过数据查询,可以从数据库中检索、过滤、排序、组合和...

    SQL数据查询——嵌套查询

    嵌套查询是SQL语言中的一个重要概念,它允许在一个查询语句内部嵌套另一个查询语句,以实现更复杂的查询逻辑。下面将详细讲解嵌套查询的相关知识点。 **1. 嵌套查询语法格式** 嵌套查询的基本语法是将一个查询语句...

    数据库的嵌套查询实验.doc

    该实验的主要目的是让学生进一步掌握 SQL Server 的使用方法,学会利用 Transact-SQL 语言表达嵌套查询语句,理解相关的 SQL 语句。 实验中,学生需要使用 Transact-SQL 语言表达嵌套查询操作,包括使用 IN、比较符...

Global site tag (gtag.js) - Google Analytics