`
百合不是茶
  • 浏览: 354073 次
社区版块
存档分类
最新评论

sql的复杂查询使用案列与技巧

阅读更多

 

本片博客使用的数据库表是oracle中的scott用户表;

 

  

    -------------------  自然连接查询

          查询 smith 的上司(两种方法)

  

----查询SMITH的上司
    select ename from emp where empno=(select mgr from emp where ename  = 'SMITH');
    
    --自连接查询
      select e1.ename, e1.mgr,e2.ename from emp e1 ,emp e2 where e1.mgr= e2.empno and E1.ename = 'SMITH';

 

 

 

--------------------------in的使用

  ---查询与部门10工作相同的员工的信息

       分组查询

select ename,job,sal,deptno from emp where job in(select job from emp where deptno = 10);

  

 

-----------------------分组函数和all的查询

--查找比部门30工资高的所有员工的信息

 

 

select ename,sal,deptno from emp where sal>(select max(sal) from emp where deptno = 30);
all查询;
select ename,sal,deptno from emp where sal> all(select sal from emp where deptno = 30);

 

 --------------------函数和any

--查找比部门30任意的工资高的所有员工的信息   

          

  ----使用any或者
        select ename,sal,deptno from emp where sal> any ( select sal from emp where deptno = 30);
       
---使用函数
       select ename,sal,deptno from emp where sal>( select min(sal) from emp where deptno = 30);
       

 

 

-----------------------------------------------------------------伪列查询  rownum  rowid
---查询部分数据
  -- 查询第五到第十条的数据
  

 select ROWNUM,ename,job from(select ROWNUM r ,ename,job from emp where ROWNUM<=10) where r>5;
    
  
  -----MYsql + sqlite分页查询的方法
    
     -- select * from emp limit 1,10;

 

 

-----------------------------------------------------------合并查询操作符 union ,unuion all,intersect,minus

union ,union all合并表的查询


select * from emp where job ='SALESMAN';
select * from emp where sal>1500;


union的合并查询  合并并且去除重复的行
  
select * from emp where job ='SALESMAN' union select * from emp where sal>1500;


union all的合并查询  取所有的数据
  
select * from emp where job ='SALESMAN' union all select * from emp where sal>1500;


interseect取交集查询
select * from emp where job ='SALESMAN' intersect select * from emp where sal>1500;


minus查询出来的结果是只显示在第一个结果集中存在 而不在第二个结果集重负存在的

select * from emp where job ='SALESMAN' minus select * from emp where sal>1500;

 

 

 

 

 

 

0
2
分享到:
评论

相关推荐

    sql复杂查询例子大全

    在SQL(Structured Query Language)中,复杂查询是用于处理大量数据和执行高级分析的关键技能。这些查询通常涉及多个表的联合、子查询、分组、排序、聚合函数以及更复杂的逻辑操作。以下是一些常见的复杂SQL查询...

    SQLServer中复杂sql语句查询

    综上所述,掌握SQL Server中的复杂SQL语句查询涉及理解多表查询、索引设计、触发器的应用和存储过程的编写,以及查询优化技巧。只有深入理解并灵活运用这些知识,才能在实际工作中有效地管理和优化数据库查询,提高...

    复杂sql说明大全 复杂sql查询教程

    通过熟练掌握这些复杂的SQL查询技巧,我们可以有效地从数据库中提取所需信息,无论是简单的统计还是复杂的关联分析,都能游刃有余。在实际应用中,还需要注意对查询性能的优化,避免不必要的全表扫描和提高查询效率...

    实验四 SQL进行复杂查询(学生) .doc

    sql server专题实验4 复杂查询实验四 SQL进行复杂查询(学生) .doc实验四 SQL进行复杂查询(学生) .doc实验四 SQL进行复杂查询(学生) .doc实验四 SQL进行复杂查询(学生) .doc实验四 SQL进行复杂查询(学生) ....

    SQL复杂SQL语句

    ### SQL复杂查询概述 在SQL中,复杂查询通常涉及到多个表之间的连接、子查询、聚合函数等高级特性。这类查询能够帮助我们从数据集中提取更为深入的信息,解决更复杂的业务问题。 ### 多表连接(JOIN) 多表连接是...

    SQL复杂关联查询练习

    通过以上实例,我们可以看到,SQL查询的强大之处在于能够灵活地处理和分析数据,通过连接不同的表来获取所需的信息,对于初学者来说,掌握这些复杂的查询技巧将极大地提升他们在数据库管理方面的能力。

    sql2000查询分析器

    本文将深入探讨SQL2000查询分析器的特性和使用技巧,旨在帮助读者更好地理解和掌握这一工具。 一、SQL2000查询分析器简介 SQL2000查询分析器是SQL Server 2000的核心组件之一,提供了一个图形化的界面,让用户能够...

    jsqlparser解析复杂sql

    jsqlparser解析复杂sql 获取where条件字段 select字段 表名table 查询join 查询 group by 查询order by 子查询 判断是否为多级子查询

    sqlserver查询分析器 win10可用

    下面将详细介绍SQL Server查询分析器在Win10上的使用及相关知识点。 1. **SQL Server Management Studio (SSMS)**:这是微软官方提供的SQL Server查询分析器,适用于Win10。SSMS提供了一个集成环境,用于管理和开发...

    sql查询优化(提高MySQL数据库查询效率的几个技巧)

    SQL 查询优化(提高 MySQL 数据库查询效率的几个技巧) 在 MySQL 数据库中,查询优化是一个非常重要的方面。在实际应用中,高效的查询可以提高整个系统的性能和响应速度。下面我们将介绍几个提高 MySQL 数据库查询...

    复杂SQL语言进阶教程:从基础到高级查询构建技巧

    最后通过一个综合示例,展示了如何使用这些知识点构建复杂的SQL查询。 适合人群:具备基础SQL知识并希望深入学习复杂SQL查询和数据分析的数据库开发者和技术人员。 使用场景及目标:帮助读者提升复杂SQL查询的能力,...

    Microsoft SQL Server: 高级查询技巧及应用详解

    内容概要:本文全面介绍了Microsoft SQL Server中的高级查询技巧及其应用,涵盖复杂查询构建、子查询与嵌套查询、索引优化、查询计划分析、窗口函数、递归CTE、数据整合操作、高级聚合与分组、排序与筛选、数据安全...

    复杂sql查询语句

    ### 复杂SQL查询语句详解 #### 一、知识点概览 在本文档中,我们将探讨复杂的SQL查询语句,这些查询语句通常用于处理更复杂的数据需求和业务场景。文档通过具体的例子来讲解如何构造复杂的SQL查询,涵盖了子查询、...

    Microsoft SQL Server 2008技术内幕:T-SQL查询.pdf

    《Microsoft SQL Server 2008技术...通过对这本书的学习,读者将能够熟练掌握SQL Server 2008中的T-SQL查询技巧,从而更高效地管理和操作数据库。无论是数据库管理员、开发人员还是数据分析人员,都能从中受益匪浅。

    SQL Sever数据库操作全部代码

    在SQL Server数据库操作中,掌握全面的代码技巧是至关重要的。SQL Server是一种广泛使用的数据库管理系统,尤其在企业级应用中占据重要地位。本资源包含了作者亲自编写的SQL Sever数据库操作的全套代码,旨在帮助...

    Microsoft SQL Server 2008技术内幕:T-SQL查询_源代码及附录.zip

    附录A_Microsoft SQL Server 2008技术内幕:T-SQL查询.pdf很可能包含了作者对特定查询技术的深入分析和实用技巧,而"使用说明.txt"可能提供了如何使用书中源代码和示例的指导。"TSQLQuerying20090710"可能是一个包含...

    数据库SQL操作技巧

    数据库SQL操作技巧是IT行业中必不可少的一项技能,尤其在ORACLE和SQL SERVER这两种广泛使用的数据库管理系统中,掌握高效、精准的SQL语法和优化方法至关重要。本文将深入探讨SQL的基础概念、常用查询语句、数据操作...

    ORACLE_SQLDeveloper使用教程

    - SQL Developer 支持多种高级 SQL 功能,如分区表、复杂查询等。 - 可以利用这些功能提高查询效率。 2. **性能调优:** - 通过分析 SQL 查询计划,可以识别性能瓶颈。 - SQL Developer 提供了工具帮助优化 SQL...

    经典的SQL查询语句,将内容作为字段查询

    当我们谈论“经典的SQL查询语句,将内容作为字段查询”时,我们通常是指在SQL中使用内容作为查询的一部分来检索特定数据。这样的查询对于数据分析师、数据库管理员以及任何需要从大量数据中提取信息的人来说至关重要...

    SQL SERVER 模糊查询的技巧

    本文将详细介绍SQL Server中的模糊查询技巧,包括基本的通配符使用方法以及如何进行更为复杂的模式匹配。 #### 一、基本通配符使用 ##### 1. `%` 通配符 `%` 通配符代表任意数量(包括零个)的字符。它可以放在...

Global site tag (gtag.js) - Google Analytics