• oracle数据库学习笔记(二)


    第二章 简单的select查询语句

    1.select查询语句基本语法
    至少要用到两个关键字:
    1)select 用来指定查询的字段、内容
    2)from 用来指定从哪张表查询
    最基本的语法:select 字段 from 表名;
    三种不同的表现形式:
    1)查询某张表中特定的某一个字段
    select 字段名 from 表名;
    例如:
    查询所有员工的id?
    select id from s_emp;
    2)查询某张表中多个字段?
    select 字段名1,字段名2,字段名3......
    from 表名;
    注意:符号一定要使用英文的符号
    例如:
    查询所有员工的id、last_name?
    select id,last_name
    from s_emp;
    建议:每一个关键字占用一行位置。

    每一次select查询结果都相当于是一张表。
    3)查询某张表中的全部字段
    a)将表中的所有字段名全部列出来
    b)使用通配符*符号

    例如:查询部门表中全部字段?
    select id,name,region_id
    from s_dept;

    等同于:
    select *
    from s_dept;
    注意:*只在学习、练习、测试的时候使用。
    在项目开发的时候要把全部的字段都列出来。
    运行过程:
    a)直接定义字段名查询
    直接根据给定的字段名查询字段值
    b)使用*通配
    先查询该张表中有哪些字段?
    再根据查询的结果去取对应的字段值。

    在真正项目开发时,sql命令不需要每次都
    手敲。我们可以直接把一些常用的sql命令
    预定义到程序中。然后每次接收到请求之后,
    直接去调用保存好的sql命令就可以了。
    sql命令只需要写一次。
    select password from customer
    where username = ?;

    distinct关键字:
    作用:消除重复值。
    位置:放在select关键字后面
    例如:
    查询所有的部门名称?
    select name
    from s_dept;
    查询公司里有哪些种类的部门?
    select distinct name
    from s_dept;

    2.算数运算
    查询的过程中,可以对查询结果进行算数运算。
    并不是真正改变表中的数据值。

    1)数值类型运算
    包含 加减乘除
    + - * /
    例如:
    查询员工12个月的工资总和?
    select salary*12
    from s_emp;

    练习:
    每个员工月薪涨200元,
    年底还有500元的年终奖。
    一年给员工发14个月工资。
    查询所有员工一年的总收入?
    select (salary+200)*14+500
    from s_emp;

    2)日期类型运算
    只有加法和减法。
    加法代表从指定日期向未来数几天。
    减法代表从指定日期向过去数几天。

    练习:
    查询所有员工的入职时间的前三天?
    select start_date-3
    from s_emp;

    3.处理空值
    查询所有员工的id、提成?
    select id,commission_pct
    from s_emp;

    查询所有员工的id、工资+提成的总和?
    select id,salary+commission_pct
    from s_emp;

    处理空值:nvl函数
    语法:nvl(可能出现空值的字段,默认值)
    nvl(commission_pct,0)

    select id,salary+nvl(commission_pct,0)
    from s_emp;

    4.字符串拼接
    查询所有员工的全名?
    全名 = 姓 + 名
    first_name + last_name
    select first_name,last_name
    from s_emp;

    select first_name||last_name
    from s_emp;
    拼接字符串:使用||符号

    练习:
    查询所有员工的全名
    要求姓氏和名字之间使用"-"分割?
    select first_name||'-'||last_name
    from s_emp;

    concat函数
    concat(字符串1,字符串2)

    5.给查询结果取别名
    每一次select查询结果

    查询所有员工的12个月总收入?
    要求显示结果中的字段名为Year_Sal?
    select id,salary*12 Year_Sal
    from s_emp;

    四种方式:
    1)select 字段 别名 from s_emp;
    2)select 字段 as 别名 from s_emp;
    3)select 字段 "别名" from s_emp;
    4)select 字段 as "别名" from s_emp;

    第一种和第二种没区别。
    第一种和第三种的区别:
    查询结果的字段名默认全部都是大写。
    加了双引号就会按照字符串中的内容原样输出。
    SQL:select id,salary*12 "Year_Sal"
    from s_emp;

    6.设置会话中查询结果显示格式
    select first_name,last_name
    from s_emp;

    column
    可以简写为col

    语法:column/col 要修改的字段 format 格式;
    例如:把last_name显示结果修改为15个字符长?
    column last_name format a15;
    a:代表要处理的是字符类型 a只能处理字符类型
    15:代表要显示的长度

     

     

  • 相关阅读:
    洛谷——P2054 [AHOI2005]洗牌(扩展欧几里得,逆元)
    线性筛法(伪模板及。。。)
    洛谷——P3919 【模板】可持久化数组(可持久化线段树/平衡树)
    CF450B Jzzhu and Sequences(矩阵加速)
    洛谷——P1349 广义斐波那契数列(矩阵加速)
    P1269 信号放大器
    istio prometheus预警Prometheus AlertManager
    istio promethus收集不到数据
    KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
    centos7虚拟机设置静态ip
  • 原文地址:https://www.cnblogs.com/DennySmith/p/12153535.html
Copyright © 2020-2023  润新知