文章目录
  1. 1. SQL
    1. 1.1. SQL语言基础
      1. 1.1.1. SQL 语言定义
      2. 1.1.2. SQL 的用途
      3. 1.1.3. SQL 语言的分类
      4. 1.1.4. 关系数据库基本概念
    2. 1.2. 函数
      1. 1.2.1. 函数的分类
      2. 1.2.2. 单行函数的使用
        1. 1.2.2.1. 字符函数
        2. 1.2.2.2. 数值函数
        3. 1.2.2.3. 日期函数
        4. 1.2.2.4. 转换函数
        5. 1.2.2.5. 通用(其他)函数
      3. 1.2.3. 多行函数的使用
    3. 1.3. 多表查询
      1. 1.3.1. 内连接
      2. 1.3.2. 自然连接
      3. 1.3.3. 外连接
        1. 1.3.3.1. 左外连接
        2. 1.3.3.2. 右外连接
        3. 1.3.3.3. 全外连接

SQL

SQL语言基础

SQL 语言定义

  • SQL,Structured Query Language 结构化查询语言
  • SQL 是所有关系型数据库的操作的标准语言
  • SQL 是非过程化语言-只需要告诉做什么,不需要关注怎么做

SQL 的用途

  • 数据库数据的增删改查操作(GRUD)
  • 数据库对象(用户,表格,序列,索引)的创建,修改和删除操作
  • 用户权限/角色的授予和取消
  • 事务 (Transaction)

SQL 语言的分类

a) DQL ,Data Query Language ,执行查询 select

b) DML,Data Manipulation Language,执行增删改的任务 insert delete update

c) DLL,Data Definition Language ,用于操作数库对象 add,modify,drop

d) DCL,Data Control Language,用于操作用户权限,grant, revoke(撤与)

e) TCL, Transaction Control Language, 事务控制语言 commit,rollback

关系数据库基本概念

  • 关系:整个二维表
  • 关系名:表格名称
  • 元组:行数据(记录)
  • 属性:列数据(字段)
  • 属性名:列名称(字段名)
  • 主键:唯一确定元组的属性组(关键字)
  • 域:属性的取值范围

函数

函数的分类

​ 单行函数:这些函数仅对单个行进行运算,并且每行返回一个结果

​ 多行函数(聚合函数):这些函数能够操纵成组的行,每个行组给出一个结果,这些函数

​ 也被称为组函数

单行函数的使用

字符函数

数值函数

日期函数

转换函数

​ 隐式转换

​ 显示转换

to_char(num or date,format)

to_number(char, format)

to_date(char, format)

通用(其他)函数

NVL(EXP1, EXP2)

​ 如果exp1的值为null,则返回exp2的值,否则返回exp1的值

NVL2(EXP1, EXP2, EXP3)

​ 如果exp1的值为null,则返回exp2的值,否则返回exp3的值

NULLIF(expr1, expr2)

​ 比较两个表达式,如果相等,返回空,如果不相等,返回第一个表达式,第一个表达式不能为空

​ expr1是对于expr2的被比较原值

​ expr2是对于expr1的被比较原值(如果它不等于expr1,expr1被返回)

COALESCE(expr1, expr2, …expm)

​ expr1 如果非空,返回该表达式

​ expr2 如果第一个表达式为空并且该表达式非空,返回该表达式

​ expm 如果前面的表达式都为空,返回该表达式

DECODE(VALUE,IF1,THEN1,IF2,THEN2,……,ELSE)

​ 如果value的值为if1,则返回then1的值,如果value的值为if2,则返回then2的值,……,否则返回else值

​ 示例:

​ select REGION_ID, decode(REGION_ID, 1, ‘1号’, 2, ‘2号’, 3, ‘3号’, ‘错误’) from REGIONS

……

多行函数的使用

多表查询

内连接

​ 内连接基本与自然连接相同,不同之处在于自然连接的是同名属性列的连接,而内连接则不要求两属性列同名,可以用using或on来指定某两列字段相同的连接条件。

自然连接

​ 自然连接是一种特殊的等值连接,他要求两个关系表中进行连接的必须是相同的属性列(名字相同),无须添加连接条件,并且在结果中消除重复的属性列。

外连接

左外连接

​ 左外连接是在两表进行连接,只把左表要舍弃的保留在结果集中,右表对应的列上填null。

右外连接

​ 右外连接是在两表进行连接,只把右表要舍弃的保留在结果集中,左表对应的列上填null。

全外连接

​ 全外连接是在两表进行连接,只把左表和右表要舍弃的都保留在结果集中,相对应的列上填null。

文章目录
  1. 1. SQL
    1. 1.1. SQL语言基础
      1. 1.1.1. SQL 语言定义
      2. 1.1.2. SQL 的用途
      3. 1.1.3. SQL 语言的分类
      4. 1.1.4. 关系数据库基本概念
    2. 1.2. 函数
      1. 1.2.1. 函数的分类
      2. 1.2.2. 单行函数的使用
        1. 1.2.2.1. 字符函数
        2. 1.2.2.2. 数值函数
        3. 1.2.2.3. 日期函数
        4. 1.2.2.4. 转换函数
        5. 1.2.2.5. 通用(其他)函数
      3. 1.2.3. 多行函数的使用
    3. 1.3. 多表查询
      1. 1.3.1. 内连接
      2. 1.3.2. 自然连接
      3. 1.3.3. 外连接
        1. 1.3.3.1. 左外连接
        2. 1.3.3.2. 右外连接
        3. 1.3.3.3. 全外连接