`
nickevin
  • 浏览: 37762 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PL/SQL Quiz

阅读更多

 

-- -- -- -- -- row_number rank dense_rank  3者区别-- -- -- -- -- 

 

-- Question_1: 男女成绩排行榜 http://www.iteye.com/topic/1029921

-- 不涉及并列排名(前3名)

 

select *
  from (select id
              ,name
              ,gender
              ,grade
              ,row_number() over(partition by gender order by grade desc) row_number
          from t_stu)
 where row_number <= 3;
 

 

 

-- 涉及并列排名(并列排名后的下一记录不连续)

-- 1, 2, 2, 4

 

select id
      ,name
      ,gender
      ,grade
      ,rank() over(partition by gender order by grade desc) rank
  from t_stu;
 

 

 

-- 涉及并列排名(并列排名后的下一记录连续)

-- 1, 2, 2, 3

 

select id
      ,name
      ,gender
      ,grade
      ,dense_rank() over(partition by gender order by grade desc) dense_rank
  from t_stu;
 

 

-- -- -- -- -- connect by [prior] start with -- -- -- -- --

select * from t_dept tb;

 

-- Question_2: 部门2及其所有下级部门

 

select lpad(' ', 2 * (level - 1), ' ') || dept_id as dept_id
      ,parent_id
      ,dept_name
      ,amount
  from t_dept
connect by parent_id = prior dept_id -- 找出所有PARENT_ID等于当前记录DEPT_ID的记录。
 start with dept_id = 2;
 

 

-- Question_3: 部门2及其所有上级部门

 

select lpad(' ', 2 * (level - 1), ' ') || dept_id as dept_id
      ,parent_id
      ,dept_name
      ,amount
  from t_dept
connect by prior parent_id = dept_id -- 左'上'右'下'
 start with dept_id = 2;
 

 

 

select lpad(' ', 2 * (level - 1), ' ') || dept_id as dept_id
      ,parent_id
      ,dept_name
      ,amount
  from t_dept
 start with dept_id = 1
connect by parent_id = prior dept_id
           and dept_id <> 3 -- 不包括部门3及其下属部门
;
 

 

 

select lpad(' ', 2 * (level - 1), ' ') || dept_id as dept_id
      ,parent_id
      ,dept_name
      ,amount
  from t_dept
 start with dept_id = 1
connect by parent_id = prior dept_id
 order siblings by amount asc; -- 注意 order siblings by 用法
 

-- -- -- -- -- 分页 -- -- -- -- --

 

select *
  from (select id
              ,name
              ,gender
              ,grade
              ,row_number() over(order by id) row_number
          from t_stu)
 where row_number between 5 and 10;
 

 

select *
  from (select rownum rn, tb.* from (select * from t_stu) tb)
 where rn between 5 and 10;
 

 

-- 性能高

 

select id, name, gender, grade
  from (select id, name, gender, grade, rownum rn
          from t_stu
         where rownum <= 10)
 where rn >= 5;
 

 

  • schema.rar (877 Bytes)
  • 描述: 相关脚本
  • 下载次数: 6
分享到:
评论

相关推荐

    戴牧红-oracle-数据库-在线考试

    综上所述,这份在线考试涉及到了 PL/SQL 的多个方面,包括但不限于使用 Oracle Application Express 创建 Web 应用程序、异常处理、PL/SQL 的适用范围、PL/SQL 的特点以及不同类型的 PL/SQL 代码块等。这些知识点...

    sql quiz

    关于sql的20个测试题

    SQLSever练习题(附答案)

    适合初学者使用,它比较的基础,有助于你打牢基础,如果你能把它做完,那你就基本掌握了查询的相关知识!

    数据库题目收集_sql_quiz.zip

    数据库题目收集_sql_quiz

    javascript-quiz:一个用 javascript 编码的 javascript 测验

    "javascript-quiz"项目就是一个利用JavaScript构建的互动式测验,旨在帮助学习者检验和提升他们的JavaScript知识。这个测验可能是通过创建HTML页面来呈现问题,使用JavaScript处理用户交互,并可能结合CSS来实现视觉...

    ssd3 practical quiz 6

    ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5

    ssd3 quiz3答案

    Quiz 3可能涉及创建数据库模式、写SQL查询语句,或者处理数据库设计的问题。 7. **网络基础知识**:TCP/IP协议、HTTP协议、网络层次模型等。Quiz 3可能要求理解网络通信的基本原理,或者分析网络数据传输过程。 ...

    ssd3 quiz6答案

    3. **数据库管理**:Quiz 6可能包含SQL查询语言的使用,如SELECT语句、JOIN操作、子查询和索引的概念,以及关系数据库模型的设计原则。 4. **网络应用**:这可能涉及到TCP/IP协议栈、HTTP协议、客户端-服务器交互、...

    ssd3 quiz4答案

    10. **软件安全**:涉及到密码学、认证、授权、加密技术以及如何预防常见的安全漏洞,如SQL注入、XSS攻击等。 为了准备Quiz 4,学生应该复习这些主题,并确保理解每个概念的实际应用。同时,解答时需要遵循良好的...

    google社招leetcode-interview-preparation:面试准备

    https://www.w3schools.com/sql/sql_quiz.asp: Don't forget to take the quiz. Check out the amazing reference , may not be the full list, but good enough https://www.w3schools.com/sql/sql_ref_mysql.asp ...

    【Merge】计网考试重点范围整理1

    第一章第二章2.5 重要(可能涉及一些计算)2.1 较重要(振幅//相位//频率//quiz 考过的香农·尼克斯特公式)2.2 2.3 2.6 简单了解2.4

    ssd3 practical quiz 3

    ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3ssd3 practical quiz 3

    SSD3-quiz4

    【SSD3 Quiz4 知识点详解】 SSD3,全称为Software System Development 3,是卡耐基梅隆大学面向对象程序设计的一门课程。Quiz 4作为该课程的重要组成部分,旨在检验学生对面向对象编程核心概念的理解,以及在实际...

    ssd3 quiz9答案

    【SSD3 Quiz9答案详解】 在卡耐基教程中的SSD3(Structured Systems Design, 第3阶段)Quiz9,我们关注的是系统设计与分析的关键概念。这个阶段的学习旨在提升学员对复杂系统的设计、实现和优化能力。Quiz9可能是对...

    ssd3 practical quiz 5

    ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5ssd3 practical quiz 5

    ssd3 Practical Quiz 7 答案

    "Practical Quiz 7"可能是一个关于SSD3技术的实践性测验,旨在测试学生或专业人士对这一领域知识的理解和应用能力。下面,我们将深入探讨SSD3相关的知识点: 1. **工作原理**:SSD3的核心是NAND闪存,它由存储单元...

    ssd3 quiz7答案

    9. **安全性与隐私**:了解基本的安全编程原则,如何预防SQL注入、XSS攻击,以及如何保护用户数据的隐私。 10. **法规与道德**:软件开发过程中的知识产权、数据保护法规,以及职业道德和责任。 每个文件名称...

Global site tag (gtag.js) - Google Analytics