• Oracle 学习笔记(三)


    oracle 表查询

    oracle 表基本查询

    在此,基于 scott 用户存在的 emp,dept 表演示学习。

    emp 雇员表 

    clerk  员工 

    salesman 销售 

    manager  经理 

    analyst 分析师 

    president  总裁 

    mgr  上级的编号 

    hiredate 入职时间 

    sal 工资 

    comm 奖金 

    deptno 部门编号 

    dept 部门表 

    deptno 部门编号 

    accounting 财务部 

    research  研发部 

    operations 业务部 

    loc 部门所在地点 

    salgrade   工资级别 

    grade    级别 

    losal    最低工资 

    hisal    最高工资 

    简单查询语句 

    查看表结构

    DESC emp; 

    查询所有列

    SELECT * FROM dept; 切忌动不动就用 select *,影响效率。

    打开显示操作时间的开关,下面显示查询时间

    SET TIMING ON; 

    建表

    CREATE TABLE users(userId VARCHAR2(10), uName VARCHAR2 (20), uPassw VARCHAR2(30)); 

    插入数据

    INSERT INTO users VALUES('a0001', 'Stephen', '8888888'); 

    可以插入几万条数据,用于测试 sql。

    从自己复制,加大数据量。

    INSERT INTO users (userId,UNAME,UPASSW) SELECT * FROM users; 

    统计行数 

    SELECT COUNT (*) FROM users;

    查询指定列

    SELECT ename, sal, job, deptno FROM emp; 

    取消重复行 DISTINCT 

    SELECT DISTINCT deptno, job FROM emp; 

    查询 Stephen 所在部门,工作,薪水 

    SELECT deptno,job,sal FROM emp WHERE ename = 'Stephen '; 

    注意:oracle对内容的大小写是区分的,ename='Stephen'和ename='stephen'不是同一个人。

    使用算术表达式 nvl  null 

    如何显示每个雇员的年工资,使用 nvl 函数来处理 null 值 

    SELECT sal*13+nvl(comm, 0)*13 "年薪" , ename, comm FROM emp; 

    使用列的别名

    SELECT ename "姓名", sal*12 AS "年收入" FROM emp; 

    连接字符串(||)

    SELECT ename  || ' is a ' || job FROM emp; 

    使用 where 子句

    查找工资高于3000 的员工

    SELECT * FROM emp WHERE sal > 3000; 

    查找 1982.1.1 后入职的员工

    SELECT ename,hiredate FROM emp WHERE hiredate >'1-1月-1982'; 

    查找工资在 2000 到 3000 的员工

    SELECT ename,sal FROM emp WHERE sal >=2000 AND sal <= 3000; 

    使用 like 操作符 

    %:表示 0 到多个字符 ;_:表示任意单个字符

    查找首字符为 A 的员工姓名和工资

    SELECT ename,sal FROM emp WHERE ename like 'A%'; 

    查找第三个字符为大写 S 的所有员工的姓名和工资

    SELECT ename,sal FROM emp WHERE ename like '__S%'; 两个_

    在 where 条件中使用 in

    查询 empno 为 7844, 7839,123,456 的员工

    SELECT * FROM emp WHERE empno in (7844, 7839,123,456); 

    使用 is null 的操作符

    查询没有上级的员工x信息

    错误写法:select * from emp where mgr = '';

    正确写法:SELECT * FROM emp WHERE mgr is null;

    今天笔记做到这,后续有空继续。

    【微信公众号:Stephen】一个毕业三年后自学 Java 入行的程序员。
  • 相关阅读:
    mac idea 更换主题
    记一次Sonarqube踩坑实录
    Mysql 常用数据类型
    Spring Cloud 整合分布式链路追踪系统Sleuth和ZipKin实战,分析系统瓶颈
    git clone克隆github仓库慢,问题解决
    SpringBoot 解决跨域问题
    Android 中的敏感信息泄露
    Drozer 测试 APP
    Drozer 安装踩坑日记
    安卓测试笔记--工具安装
  • 原文地址:https://www.cnblogs.com/stephen-java/p/10739331.html
Copyright © 2020-2023  润新知