zoukankan      html  css  js  c++  java
  • Oracle的基本学习(二)—基本查询

    一、基本查询语句


    (1)查看当前用户

    show user;

    (2)查看当前用户下的表

    select * from tab;

    (3)查看员工表的结构

    desc emp;

    (4)选择全部列

    SELECT * FROM emp;

    image

    (5)选择特定的列

    SELECT empno,ename,sal,comm,deptno FROM emp;

    image

    (6)定义空值

    a: 空值是无效的,未指定的,未知的的值。

    b: 空值不是空格或者0.

    c: 包含空值的数据表达式的值都是空值。

    --空值不同于0,凡是空值参与运算的都是空值--
    select employee_id,
           last_name,
           salary,
           commission_pct,
           salary * (1 + commission_pct)
      from employees;

    image

    改写后:

    --nvl函数--
    --格式: nvl(E1,E2)--
    --解释: 如果E1为NULL,则函数返回E2,否则就返回E1。--
    select employee_id,
           last_name,
           salary,
           commission_pct,
           salary * (1 + nvl(commission_pct,0))
      from employees;

    image

    (7)使用别名

    a:在列名后直接写。

    b:在列名和别名之间添加关键字As。

    c:使用双引号。

    --使用别名--
    select employee_id id,
           last_name as name,
           12*salary "annual_sal"
    from employees;

    image

    (8)删除重复行

    --使用关键字"DISTINCT"删除重复行--
    select distinct department_id 
    from employees;

    二、过滤和排序

    (1)where子句

    a:使用where子句,将不满足条件的行过滤掉。

    b:where子句紧随from子句。

    select employee_id,last_name,salary
    from employees
    where employee_id > 200;

    image

    (2)字符和日期

    a:字符和日期要包含在单引号中。

    b:字符大小写敏感,日期格式敏感。

    c:默认日期格式是: DD-MM月-YYYY。

    select employee_id, last_name, salary, hire_date
      from employees
     where hire_date='17-9月-1987';

    这样写不方便,我们通常这样写:

    select employee_id, last_name, salary, hire_date
      from employees
     where to_char(hire_date,'yyyy-mm-dd')='1987-09-17';

    image

    (3)比较运算

    image

    select employee_id, last_name, salary, hire_date
      from employees
     where salary >= 6000 and salary < 7000;

    image

    (4)between

         使用between运算来显示在一个区间内的值。

    select employee_id, last_name, salary, hire_date
      from employees
     where salary between 6000 and 7000;

    image

    (5)in

         使用in运算显示列表中的值。

    select employee_id, last_name, salary, department_id
      from employees
     where department_id in(70,80,90);

    image

    (6)LIKE

    a: like选择类似的值。

    b: "%"代表0个或多个字符。

    c: "_"代表一个字符。

     select employee_id, last_name
      from employees
     where last_name like 'S%';

    image

    (7)null

         使用 is null判断空值。

     select employee_id, last_name,manager_id
      from employees
     where manager_id is null;

    image

    (8)逻辑运算

    image

    image

    image

    image

    (9)order by

    asc:升序

    desc:降序

    order by在select语句的结尾。

    --desc:从高往低--
    --asc:从低往高,默认--
    --工资从低往高,如果相同再按名字排序--
    select employee_id, department_id,last_name, salary
      from employees
     where department_id = 80
     order by salary asc,last_name asc;

    image

  • 相关阅读:
    qemu 系列
    vuex
    gpio led学习
    [Java] 容器-03 增强的For循环 / Set 方法
    [Java] 容器-02 HashSet 类 / Iterator 接口
    [Java] 容器-01 实现 Comparable 接口 / 重写 equals 与 hashCode (1个图 1个类 3个知识点 6个接口)
    [Java] 常用类-03 File 类 (io 包中的 File) / Enum 类
    [Java] 常用类-02 基础数据类型包装类 / Math 类
    [Java] 常用类-01 String / StringBuffer
    [Java] 数组-05 binarySearch / TestArrayCopy
  • 原文地址:https://www.cnblogs.com/yangang2013/p/5742687.html
Copyright © 2011-2022 走看看