zoukankan      html  css  js  c++  java
  • Sql入门

    SQL: 结构化查询语言

    1. ddl:数据库定义语言  alter drop create truncate
    2. dml:数据库操作语言 insert update delete
    3. dcl:数据库控制语言 安全 授权 qrant revoke
    4. dql:数据库查询语言 select from where 等

    dual:虚表,伪表,用于补齐语法结构

    select 1+1 from dual;

    别名查询:

    select ename 姓名,sal 工资 from emp;

    去除重复数据:(一列都一样才算重复)

    select distinct job from emp;

    sql四则运算:

    select 1+1 from dual;
    select sal*12 from emp;
    select sal*12 + nvl(comm,0) from emp;
    

    nvl()函数,如果第一个参数为空,则返回第二个参数

    注意:包含null的表达式都为null;空值(未知,不可预测的值)永远不等于空值

    连接符: ||

    mysql形式:

    select concat(ename,'的工资是',sal,) from emp;

    oracle:

    select '工资:' || sal from emp;

    where语句:

    • 非空和空的查询
    select * from emp where comm is null;
    select * from emp where comm is not null;
    • 范围限制
    select * from emp where sal >1000;
    select * from emp where comm is null and not(sal>1000);
    select * from emp where sal between 1000 and 2000;
    select * from emp where sal in (1000,3000);
    select * from emp where comm is not null or sal >1800;
    • 模糊查询
    select * from emp where ename like '李%';
    select * from emp where ename like '李_';

    排序查询:

    order by (asc:升序;desc:降序,默认升序)

    select * from emp order by eid;
    select * from emp order by eid desc;

    遇到空值问题时,利用nulls first 或 nulls last 来解决

    select * from emp order by sal desc nulls last;

    sql的函数:

    D:BaiduNetdiskDownloadoracleday1源码预习(本机资源)

    sql的常用函数参考:https://www.cnblogs.com/canyangfeixue/p/3203588.html

    注意:where 和having的最大区别,where后面不能跟组函数

    错误示范:

    select deptno avg(sal) from emp group by deptno where avg(sal)>3000; 
    select sal deptno,count(ename) from emp group by deptno;
    select sal deptno,count(ename) from emp;
    作者:wuba
    出处:http://www.cnblogs.com/wuba/
    版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明出处!
  • 相关阅读:
    Pycharm破解
    Web UI绕过登录的实现
    使用Docker安装Jenkins服务
    Appium 基于控件左滑操作
    Pytest执行用例报Hint: make sure your test modules/packages have valid Python names.
    Selenium文件上传
    获取Android手机日志
    Linux机器间ssh免密登录
    JMeter中使用Put请求方式请求接口
    python发送post请求上传文件,无法解析上传的文件
  • 原文地址:https://www.cnblogs.com/wuba/p/11025947.html
Copyright © 2011-2022 走看看