网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

SQL小记录

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
解锁用户:alertuserscottaccountunlock
    用系统管理员账号登陆数据库:connsys/sysassysdba
    connscott/tiger或者connectuser/pwd切换用户
    ed或者edit//打开一个缓冲文件
    操作回滚:rollback,一旦提交则不可回滚;
    数据操纵语言dml,数据定义语句ddl,数据控制语言dcl
    显示表结构:descemp
    --单行注释
    /*
    */多行注释
    SQL>@d:\student.sql//执行sql文件
    --------------------------------------------------
    --创建雇员表emp
    createtableemp
    (
    empnonumber(4)notnull,--员工号
    enamevarchar(10),--员工
    jobvarchar(9),--工种
    mgrnumber(4),--所属经理编号
    hiredatedate,--入职日期
    salnumber(7,2),--薪水
    commnumber(7,2),--奖金
    deptnonumber(2),--部门号
    primarykey(empno)
    );
    --创建部门表dept
    createtabledept
    (
    deptnonumber(2)notnull,--部门号
    dnamevarchar(14),--部门名称
    locvarchar(13),--部门位置
    primarykey(deptno)
    );
    --创建工资等级表salgrade
    createtablesalgrade
    (
    gradenumbernotnull,--等级
    losalnumber,--最低薪水
    hisalnumber,--最高薪水
    primarykey(grade)
    );
    ---------------------------------------------------------------------
    selectename,sal*12fromemp;
    select2*3fromemp;
    select2*3fromdual;--计算表达式
    selectsysdatefromdual;--获取系统当前时间
    -----------------------------------------------------------------------
    --字段取别名
    selectename,sal*12anuual_salfromemp;--取别名
    selectename,sal*12asanuual_salfromemp;--取别名
    selectename,sal*12"anuualsal"fromemp;--取别名,可以显示空格,保持大小写
    -------------------------------------------------------------------------------
    --连接符
    selectename||'aa''aa'fromemp;--"||"连接符号,两个单引号表示一个单引号
    -----------------------------------------------------------------------------
    --distinct,不重复
    selectdistinctdeptno,jobfromemp;--先查询,再排除重复记录
    ------------------------------------------------------------------------------
    --between,范围之内
    select*fromempwheresalbetween800and1500;--between相当于>=and<=
    --------------------------------------------------------------------------------
    --null,空
    空值是指不可用来分配的值
    空值不等于空或空格
    任何类型的数据都有空值
    空值相加任何数据还为空
    selectename,salfromempwherecomm=null;--没有记录,没有实际用处
    selectename,salfromempwherecommisnull;--为空,有记录
    selectename,salfromempwherecommisnotnull;--不为空
    -------------------------------------------------------------------------
    --in,在一个枚举的范围内
    selectename,salfromempwheresalin(800,1500,1300);
    selectename,salfromempwheresalnotin(800,1500,1300);
    --------------------------------------------------------------------------
    --系统默认的日期格式
    selectename,hiredatefromempwherehiredate>'20-2月-81';
    --------------------------------------------------------------------------
    --通配符,"_"匹配一个字符,"%"匹配任意的字符串
    selectename,salfromempwhereenamelike'%a%';
    selectename,salfromempwhereenamelike'_a%';
    selectename,salfromempwhereenamelike'%\%%';--系统默认的转义字符为"\"
    selectename,salfromempwhereenamelike'%$%%'escape'
  • 上一篇资讯: sql工具类tool
  • 下一篇资讯: SQL小记录(1)
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
    ;--escape,指定转义字符
        --------------------------------------------------------------------------------------
        --orderby,先查询,后排序,desc:降序,asc:升序(系统默认)
        select*fromdeptorderbydeptnodesc;
        select*fromdeptwheredeptno<>10orderbydeptnoasc;
        selectename,sal,deptnofromemporderbysaldesc,deptnoasc;--先按工资降序排列,工资相同的
        列,再按升序排列
        ---------------------------------------------------------------------------------------
        --单行函数
        --lower(),将字符串转化为小写
        selectenamefromempwherelower(ename)like'%y%';
        selectenamefromempwhereenamelike'%y%'orenamelike'%Y%';
        --upper(),将字符串转化为大写
        selectenamefromempwhereupper(ename)like'%Y%';
        --substr()字符串截取
        selectsubstr(ename,1,3)fromemp;--从ename中的第一个字符开始截取三个字符
        --chr(),将数字转化其对应的ascii码字符
        selectchr(65)fromdual;
        --ascii(),将对应的字符转化为其ascii码对应的数字
        selectascii('A')fromdual;
        --round()四舍五入,默认精确到各位
        selectround(23.652)fromdual;
        selectround(23.652,1)fromdual;
        selectround(23.652,-1)fromdual;
        --to_char()将数字或日期转化为字符串
        selectto_char(sal)fromemp;
        selectto_char(sal,'$999,999,999.99')fromemp;--将sal,安装相应的格式转化为字符串
        selectto_char(sal,'L999,999,999.99')fromemp;
        selectto_char(sal,'L000,000,000.00')fromemp;
        $:美元,L或者l:本地货币
        selectto_char(hiredate)fromemp;
        selectto_char(hiredate,'yyyy-mm-ddhh:mi:ss')fromemp;
        selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')fromemp;
        --to_date(),将当前固定格式的字符串转化为日期
        selectename,hiredatefromempwherehiredate>=to_date('2008-09-0300:00:00','yyyy-mm-dd
        hh24:mi:ss');
        --to_number(),将当前的固定格式的字符串转化为数字
        selectsalfromempwheresal>to_number('$1,050.00','$9,999.99');
        --nvl(),对为空的字段进行处理
        selectename,sal*12+nvl(comm,0)fromemp;--不会空,则加comm,为空则加0;
        -------------------------------------------------------------------------------
        --组函数
        --max():最大值,min():最小值,avg():平均值,sum():求和,count():统计记录数
        selectmax(sal)fromemp;
        selectmin(sal)fromemp;
        selectavg(sal)fromemp;
        selectsum(sal)fromemp;
        selectcount(*)fromemp;
        selectcount(comm)fromemp;--不统计字段为空的记录
        --groupby分组
        selectdeptno,avg(sal)fromempgroupbydeptno;
        selectdeptno,job,avg(sal)fromempgroupbydeptno,job;--deptno,job相同的记录为一组
        -------------------------------------------------------------------------------------------
        ---
        --having,对分组进行过滤
        selectdeptno,avg(sal)fromempgroupbydeptnohavingavg(sal)>1000;
        -------------------------------------------------------------------------------------------
        ------
        selectdeptno,avg(sal)fromemp
        wheresal>1000
        groupbydeptno
        havingavg(sal)>1200
        orderbyavg(sal)asc;
        --casewhen,分支
        统计empno<1003,empno<1005,和其他的记录的个数
        selectcount(*),
        (casewhenempno<1003then1
        whenempno<1005then2
        else3
        end)no
        fromemp
        groupby
        (
        casewhenempno<1003then1
        whenempno<1005then2
        else3
        end
        );
        ----------------------------------------------------------------
        --sql,1999新标准
        selectename,salfromemp
        join(selectmax(sal)max_sal,deptnofromempgroupbydeptno)t
        on(emp.sal=t.max_salandemp.deptno=t.deptno);
        --交叉连接
        selectename,dnamefromempcrossjoindept;
        --等值连接
        select*fromemp,salgradewhereemp.salbetweensalgrade.losaland
        salgrade.hisal;
        selectename,dnamefromempjoindepton(emp.deptno=dept.deptno);
        selectename,dnamefromempjoindeptusing(deptno);
        --非等值连接
        selectename,dname,gradefrom
        empejoindeptdon(e.deptno=d.deptno)
        joinsalgradeson(e.salbetweens.losalands.hisal)
        whereenamenotlike'_A%';
        --自连接
        selecte1.ename,e2.enamefromempe1
        joinempe2on(e1.mgr=e2.empno)
        --外连接
        selecte1.ename,e2.enamefromempe1leftjoinempe2on(e1.mgr=e2.empno);
        selecte1.ename,e2.enamefromempe1rightouterjoinempe2on(e1.mgr=e2.empno);
        selecte1.ename,e2.enamefromempe1fullouterjoinempe2on(e1.mgr=e2.empno);
        ---------------------------------------------------------------------------------------
        --导出导出数据
        dropuserliuchaocascade;--删除用户liuchao
        exp--导出当前用户的表结构,和数据,在cmd中执行
        --创建一个用户liuchao,密码liuchao,数据存在默认的表空间users,在表空间users分配大小为10M的
        空间
        createuserliuchaoidentifiedbyliuchaodefaulttablespaceusersquota10Monusers
        grantcreatesession,createtable,createviewtoliuchao;--授权liuchao用户可以连接数据库,创
        建表,创建视图
        imp--导入表结构
        createtableemp2asselect*fromemp;--复制emp表的数据到新创建的表emp2
        -------------------------------------------------------------------------------------------
        ----
        --rownum,列号:每一个表都默认有一个显示列号的字段rownum
        selectrownum,emp.*fromemp;
        selectrownum,enamefromempwhererownum<=3;
        --运用虚列选出第n-m条的记录(效率较高)
        select*from
        (
        selectrownumrow_num,emp.*fromemporderbyempno
        )
        whererow_numbetween2and3;
        --利用分析函数:row_number()over(partitionbycol1orderbycol2)选出第n-m条的记录
        select*from(
        selectrow_number()over(orderbyempno)no,emp.*fromemp
        )
        wherenobetween2and3;
        -----------------------------------------------------------------------------------------
        --列约束条件
        createtablestu
        (
        idnumber(6)primarykey,--主键约束
        namevarchar2(20)constraintstu_name_nnnotnull,--不为空约束
        sexnumber(1)check(sexin(0,1)),--检查约束
        agenumber(3),
        sdatedate,
        gradenjmber(2)default1,--默认约束
        classnumber(4)referencesclass(id),--外键约束
        emailvarchar2(50)unique--唯一约束
        )
        createtablestu
        (
        idnumber(6),
        namevarchar2(20),
        sexnumber(1),
        agenumber(3),
        sdatedate,
        gradenumber(2)default1,
        classnumber(4),
        emailvarchar2(50),
        constaintstu_id_pkprimarykey(id),
        constaintstu_name_email_uniunique(email,name)
        constaintstu_class_fkforeignkey(class)
        )
        --添加,删除约束条件
        alerttablestuadd(addrvarchar2(100));
        alerttablestuadddropaddr;
        alerttablestumodify(addrvarchar2(150));
        alerttablestudropconstraintstu_class_fk;
        alerttablestuaddconstraintstu_class_fkforeignkey(class)referenceclass(id);
        -----------------------------------------------------------------------------------------
        数据字典表的存储表(dictionary)
        descdictionary
        selecttablenamefromdictionary;
        常用数据字典表(user_tables,user_views,user_constraints)
        descuser_tables;
        selecttable_namefromuser_tables;
        selectview_namefromuser_views;
        selectconstraint_namefromuser_constraints;
        selectconstraint_name,table_namefromuser_constraints;
        selectindex_namefromuser_indexes;
        ----------------------------------------------------------------
        --索引(提高对经常访问的字段读取速度)
        createindexidx_stu_emailonstu(email);--创建索引
        dropindexidx_stu_email;--删除索引
        --视图(就是一个子查询)
        createviewv SQL小记录_网学
    网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
    返回网学首页
    网学原创论文
    最新论文 推荐专题 热门论文 论文专题
    当前位置: 网学 > 交易代码 > SQL语法 > 正文

    SQL小记录

    论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
    content
  • 上一篇资讯: sql工具类tool
  • 下一篇资讯: SQL小记录(1)
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
    stuasselectid,name,agefromstu;--创建视图
        descv SQL小记录_网学
    网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
    返回网学首页
    网学原创论文
    最新论文 推荐专题 热门论文 论文专题
    当前位置: 网学 > 交易代码 > SQL语法 > 正文

    SQL小记录

    论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
    content
  • 上一篇资讯: sql工具类tool
  • 下一篇资讯: SQL小记录(1)
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
    dept_avg_sal_info;--显示表结构中的所有视图
        -----------------------------------------------------------------------------
        --序列(一般用于作为主键)
        createtablearticle
        (
        idnumber,
        titlevarchar2(1024),
        contlong
        );
        createsequenceseq;--创建序列
        dropsequenceseq;--删除序列
        startwith1;--从1开始
        selectseq.nextvalfromdual;查询下一个序列值
        insertintoarticlevalues(seq.nextval,'a','b');--将虚列作为主键
        ---------------------------------------------------------------------
        --思考题
        部门平均薪水的等级
        部门平均的薪水等级
        哪些人是经理
        不用组函数求最高薪水
        平均薪水最高的部门编号与名称
        平均薪水的等级最低的部门名称
        比普通员工的最高薪水还要高的经理人名称
        求部门经理人中平均薪水最低的部门名称
        求比普通员工的最高薪水还要高的经理人名称
        求薪水最高的前五名雇员
        求薪水最高的第六名的到十名雇员
        --------------------------------------
        --三范式
        第一范式:要有主键,列不可分
        第二范式:不能存在部分依赖,
        第三范式:不能存在传递依赖
        
  • 上一篇资讯: sql工具类tool
  • 下一篇资讯: SQL小记录(1)
  • 相关资讯

    网学推荐

    原创论文

    文章排行榜

    设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师