oracle 用sql语句管理数据库

基础sql语句

  1. 创建数据库 :create database database_name;
  2. 创建表:create table(字段名 字段类型 字段为空约束 ,字段名 字段类型 字段为空约束,,,, 主键约束primary key(字段名多个字段用逗号隔开));

 

 

 

 

 

常用语句解析

  1. group by 
    1. group by 的用法:group by 是分组函数 oracle 的group by 和 mysql 的group by 的执行结果是不一样的,oracle 要求更严格一些,在select 中显示的结果必须用聚合函数包裹否则就会报不是group by 语句 ,但是在mysql 中 会返回给你最小的值或者是分组后的第一个值。
    2. 怎么理解oracle  group by 用select 查询的字段必须用聚合函数?数据分组之后就会存在一对多的关系,一行记录即有一条数据又有多条数据,所以必须要用聚合函数将多条数据转化成一条数据,才展示出来
    3. group by 的使用  具体看场景:

            场景一:对主键分组,为什么主键还要分组?就这涉及到多表关联了,A 表的主键 是B表的外键   A 和 B 的关系是一对多的关系 ,对A表的主键进行分组 ,然后 select 后的字段都可以用min 这种聚合函数将数据查出来,并且达到想要的结果

                那B 表中 被对应的多条记录怎么办 可以用wmsys.wm_concat(B.b) 函数将其转化成一条数据,数据之间用逗号隔开 1,2,3,4

    

          场景二:当要进行分组的不是唯一的字段,可以先将分组的查询出来,再在外层包含select 语句将数据查询出来

 

posted @ 2017-03-30 19:02  zero_and_one  阅读(204)  评论(0编辑  收藏  举报