美文网首页
day3sql语句

day3sql语句

作者: 宁静消失何如 | 来源:发表于2017-07-10 09:29 被阅读10次

    sqlplus / as sysdba

    startup

    sqlplus scott/tiger

    vi .bash_profile

    容宽不够 set lines 200
    set pages 200
    确定数据量:
    select count(*) from emp; (1)
    select count(1) from emp; (2)
    确定表结构
    desc emp;
    看两行
    select empno,ename from emp;
    可以进行数学运算
    select empno,ename,sal+300 from emp;
    给每一个人加工资

    (1)的优先级高
    select * from emp;
    语言:{
    一 机器语言
    二汇编
    三C-(c c++ java c#)
    四SQL
    }
    SQL基本语法:
    select 标识 选择那些列
    from标识从哪个表选择
    sql select 语句的功能
    列 关系型数据库
    起别名:
    select empno as id from emp; # as加和不加都可以 加是老标准
    连接符 ||
    select 'alter user '||ename||' account unlock;' from emp;
    过滤和排序数据
    在查询中过滤 where
    select * from emp where ename = 'KING';
    字符中大小写敏感
    筛选出
    select * from emp where deptno !=30;
    查询 是否为空
    select * from emp where comm is null;
    去重 distinct
    select distinct deptno from emp;
    多重逻辑:
    select * from emp where job='SALESMAN' or job='CLERK' and sal>1500;
    升序排列:
    select * from emp order by sal;
    降序排列:
    select * from emp order by sal desc;
    也可以 跟序号
    select * from emp order by 6 desc;
    多表查询:
    select a.ename,b.loc from emp a,dept b where a.deptno=b.deptno;(1)

    select emp.ename,dept.loc from emp , dept where emp.deptno=dept.deptno;(2)
    (1)有表别名,一般都用第一种
    去重:
    select a.ename ,b.loc,a.sal from emp a,dept b where a.sal between 1500 and 2000;
    外连接
    select a.ename ,b.loc from emp a left join dept b on a.deptno=b.deptno
    驱动表和匹配表
    两张表都有空值,但是你只想显式一张表里的所有制,包括空值,那么就用这张表做匹配表,另外的那张表做驱动表。在left join 中驱动表在左,在right join 中的驱动表在右,而与之相反的一侧为匹配表。
    满外连接

    数据关系 集合 线型 树 图
    oracle 大小写不明感
    隐式转换 系统协助转换的
    显式转换 自己写的
    定义空值 空值是无效的,未指定的
    alter user hr account unlock;
    alter user hr identified by hr;
    grant connect to hr;
    grant resource to hr;

    推荐书《oracle开发指南》

    相关文章

      网友评论

          本文标题:day3sql语句

          本文链接:https://www.haomeiwen.com/subject/xfklhxtx.html