zoukankan      html  css  js  c++  java
  • 测试oracle with as

    为了简化SQL语句,可以将语句分成若干个视图来操作,但是创建的试图将会作为对象保存在数据库中,但经常有一些语句只是临时使用,所以在sql-99规范中有了with as 语句,该语句实质上就是创建临时视图,来帮助你简化语句并使语句结构更清晰更容易阅读。

    下面的测试中会用到3张表,courseresults(课程-学生-成绩表)、courses(课程表)、students(学生表),先给出建表语句:

    create table COURSERESULTS
    (
      CID   NUMBER,
      SID   NUMBER,
      SCORE FLOAT not null
    )

    create table COURSES
    (
      CID     NUMBER not null,
      CNAME   VARCHAR2(100) not null,
      TID     NUMBER,
      CREDITS NUMBER not null
    )

    create table STUDENTS
    (
      SID       NUMBER not null,
      SNAME     VARCHAR2(50) not null,
      SEX       CHAR(1),
      BIRTHDATE DATE,
      EMAIL     VARCHAR2(50)
    )

    例1:获取student表全部数据

    with s as

    (select * from students)

    select * from s;

    例2:获取小于平均成绩的学生学号和成绩

    with c as
    (select avg(score) as value from courseresults)
    select sid,score from courseresults,c where score>c.value;

     

    例3:获取课程平均成绩大于85分的男生的学号

    with
    s1 as
    (select sid from courseresults group by sid having avg(score)>85),
    s2 as
    (select sid from students where sex='m')
    select * from s1 intersect select * from s2;

     

    结论:使用with as语句的确可以使复杂的SQL语句具有更清晰的结构。

  • 相关阅读:
    shell学习(15)- eval及shell No such file or directory解决办法
    30张图带你彻底理解红黑树
    linux中$@,$*,$0,$$,$?参数的含义
    QPS,TPS,吞吐量,响应时间详解及关系
    shell学习(14)- who
    SpringBoot 入门
    创建 Java 项目
    部分 GIT 命令
    Spark Executor Task 的执行和数量
    Ubuntu 18 单机安装 HDP 3
  • 原文地址:https://www.cnblogs.com/booolee/p/1566827.html
Copyright © 2011-2022 走看看