Category Archives: 数据库

子查询的SQL语法

内容参考《李兴华Oracle数据库》的子查询(链接见文末参考),本节主要包括:

 

Continue reading

分组函数与分组统计查询的SQL语法

内容参考《李兴华Oracle数据库》的SQL分组函数与分组统计查询部分(链接见文末参考),本节主要包括:

 
Continue reading

多表查询的SQL语法

内容参考《李兴华Oracle数据库》的多表查询部分(链接见文末参考),本节主要包括:

本文目录

  1. 1.多表查询基本概念
    1. 1.1 范例:统计emp表中的数据量
    2. 1.2 范例:统计dept表数据量
    3. 1.3 范例:将emp表和dept表实现多表查询
    4. 1.4 范例:解决笛卡尔积问题
    5. 1.5 范例:使用别名
    6. 1.6 范例:要求查询出每个雇员的编号、姓名、职位、工资、部门名称、部门位置
    7. 1.7 范例:查询出每个雇员的编号、姓名、职位、工资、雇佣日期、工资等级
    8. 1.8 范例:查询每个雇员的编号、姓名、职位、雇用日期、工资、工资等级、所在部门名称及位置
    9. 1.9 说明:关于数据量庞大的两个说明(以sh用户登录)
  2. 2. 连接方式
    1. 2.1 内连接
      1. 2.1.1 范例:增加一个没有部门的雇员信息
      2. 2.1.2 范例:观察内连接
      3. 2.1.3 范例:观察左外连接——7777的雇员显示了
      4. 2.1.4 范例:观察右外连接——40部门显示了,对于雇员信息为NULL
      5. 2.1.5 范例:查询每个雇员的编号、姓名、职位、领导姓名
    2. 2.2 外连接(SQL:1999语法支持)
      1. 2.2.1 交叉连接,其主要目的是产生笛卡尔积
      2. 2.2.2 自然连接,主要是消除笛卡尔积(相当于内连接)
      3. 2.2.3 使用USING子句,用户指定关联字段
      4. 2.2.4 使用ON子句指定关联条件
      5. 2.2.5 外连接
    3. 2.3 查询结果连接
      1. 2.3.1 范例:验证UNION操作,不显示重复记录
      2. 2.3.2 范例:验证UNION ALL操作,显示所有数据,包含重复数据
      3. 2.3.3 范例:验证INTERSECT操作,返回相同部分,交集
      4. 2.3.4 范例:验证MINUS操作,返回不同的部分,是一个差集
  3. 3. 参考
 
Continue reading

单行函数的SQL语法

内容参考《李兴华Oracle数据库》的单行函数部分(链接见文末参考),本节主要包括:

本文目录

  1. 1.上次课程的主要知识点
    1. 1.1 在Oracle数据库中的四个主要用户:
    2. 1.2 SQLPlus是Oracle操作的主要工具,其支持的命令:
    3. 1.3 给出SQL格式
  2. 2.本次内容
  3. 3.单行函数(重点,背
    1. 3.1字符串函数
      1. 3.1.1 大小写转化函数
        1. 3.1.1.1 范例:验证函数——直接在字符串数据上使用
        2. 3.1.1.2 范例:验证函数——在列上使用(对所有雇员的姓名按照小写字母的方式显示)
        3. 3.1.1.3 范例:要求用户输入一个雇员的姓名,而后查询出此雇员的详细信息
      2. 3.1.2 首字母大写其余字母小写:字符串INITCAP串 | 列)
        1. 3.1.2.1 范例:将每位雇员姓名的首字母大写,其余字母小写
      3. 3.1.3 取得字符串长度:数字 LENGTH(字符串 | 列)
        1. 3.1.3.1 范例:计算字符串长度
        2. 3.1.3.2 范例:查询所有雇员姓名及姓名长度
        3. 3.1.3.3 范例:查询出所有雇员姓名长度为5的全部雇员信息
      4. 3.1.4 替换指定字符串的内容:字符串REPLACE(字符串 | 列,要替换的内容,新的内容)
        1. 3.1.4.1 范例:替换字符串数据
        2. 3.1.4.2 范例:替换数据列
      5. 3.1.5 字符串截取操作
        1. 3.1.5.1 范例:字符串截取——由指定位置截取到结尾
        2. 3.1.5.2 范例:字符串截取——截取部分
        3. 3.1.5.3 范例:截取每一位雇员姓名的前三位字母
        4. 3.1.5.4 范例:截取每一位雇员姓名的后三位字母
      6. 3.1.6 去掉左右空格函数:字符串 TRIM(字符串 | 列)
    2. 3.2 数字函数
      1. 3.2.1 四舍五入函数:数字ROUND(数字 | 列 [, ])
        1. 3.2.1.1 范例:验证ROUND函数
      2. 3.2.2 截取小数函数:数字 TRUNC(数字 | 列 [, 保留小数位])
        1. 3.2.2.1 范例:验证TRUNC()函数
      3. 3.2.3 取模:数字 MOD(数字1 | 列1, 数字2 | 列2)
        1. 3.2.3.1 范例:求余数
    3. 3.3 日期函数
      1. 3.3.0.1 范例:取得当前系统日期和系统时间
      2. 3.3.0.2 范例:计算若干天之后的日期
      3. 3.3.0.3 范例:计算若干天之前的日期
      4. 3.3.0.4 范例:统计出每位雇员到今天为止的雇佣日期
      5. 3.3.1 计算两个日期之间经历的月数:数字MONTHS_BETWEEN(日期1 | 列1, 日期2 | 列2)
        1. 3.3.1.1 范例:计算每位雇员到目前的雇佣年数
        2. 3.3.1.2 范例:查询出所有已经被雇佣了33年以上的雇员
      6. 3.3.2 加上指定月之后的日期:日期 ADD_MONTHS(日期 | 列, 月数)
        1. 3.3.2.1 范例:计算若干月后/前(正/负)的日期
      7. 3.3.3 求出指定的下一个一周时间数的日期:日期 NEXT_DAY(日期 | 列, 一周时间数)
        1. 3.3.3.1 范例:计算下一个星期二
      8. 3.3.4 求出指定日期所在月的最后一天日期:日期 LAST_DAY(日期 | 列)
        1. 3.3.4.1 范例:求出本月的最后一天
        2. 3.3.4.2 范例:查询出每个雇员雇佣所在月倒数第二天雇佣的全部雇员信息
    4. 3.4 转换函数
      1. 3.4.1 转字符串数据:字符串 TO_CHAR(数字 | 日期 | 列, 转换格式)
        1. 3.4.1.1 范例:将日期格式化为字符串
        2. 3.4.1.2 范例:在Oracle的SYSDATE里,包含有时间数据,也可继续显示时间
        3. 3.4.1.3 范例:拆分日期数据
        4. 3.4.1.4 范例:查询出所有在2月份雇佣的雇员
        5. 3.4.1.5 范例:格式化数字显示
      2. 3.4.2 转日期数据:日期TO_DATE(字符串, 转换格式)
        1. 3.4.2.1 范例:将字符串变为日期
      3. 3.4.3 转数字数据:数字 TO_NUMBER(字符串, 转换格式)
    5. 3.5 通用函数
      1. 3.5.1 处理NULL数据:数字 NVL(列 | 数据, 默认值)
        1. 3.5.1.1 范例:遇到NULL
      2. 3.5.2 多数据判断:数据 DECODE(字段 | 数据, 判断数据1, 显示数据1, 判断数据2, 显示数据2, …[默认数据])
        1. 3.5.2.1 范例:将所有雇员的职位数据变为中文
  4. 4. 单行函数总结
  5. 5. 参考
 
Continue reading

Oracle数据库思考题:SQL基本命令、简单查询、限定查询

内容参考《李兴华Oracle数据库》的思考题A部分(包含:SQL基本命令、简单查询、限定查询,链接见文末参考),本节主要包括:

 
Continue reading

查询排序的SQL语法

内容参考《李兴华Oracle数据库》的查询排序部分(链接见文末参考),本节主要包括:

 
Continue reading

限定查询的SQL语法

内容参考《李兴华Oracle数据库》的限定查询部分(链接见文末参考),本节主要包括:

 
Continue reading

简单查询的SQL语法

内容参考《李兴华Oracle数据库》的简单查询部分(链接见文末参考),本节主要包括:

 

Continue reading

Oracle数据库的简介、安装和卸载、SQLPlus基本命令

学习笔记,内容来自李兴华的Oracle学习视频教程的两个小节:Oracle简介、Oracle安装和卸载、SQLPlus基本命令。主要包括以下内容:

 

Continue reading