• 关系数据操作


    实现在一个查询语句中显示多张表的数据,这就是多表数据记录连接查询,简称为连接查询。

    连接操作是关系数据操作中专门用于数据库操作的关系运算。

    1、并(UNION)

    “并”是指把具有相同字段数目和字段类型的表合并到一起。

    合并查询数据记录语法形式:

    select field1,field2,...,fieldn from table_name1

    union|union all

    select field1,field2,...,fieldn from table_name2

    union|union all

    select field1,field2,...,fieldn from table_name3

    ...

    关键字union会把查询结果集直接合并在一起,同时将会去掉重复数据记录。关键字union all会直接把查询结果集放一起。

    2、笛卡尔积(CARTESIAN PRODUCT)

    笛卡尔积是没有连接条件表关系返回的结果。

    3、内连接(INNER JOIN)

    在表关系的笛卡尔积数据记录中,保留表关系中所有匹配的数据记录,舍弃不匹配的数据记录。按匹配的条件可以分成自然连接、等值连接和不等连接。

    实现内连接查询的两种方式:

    • 在from子句中利用逗号区分多个表,在where子句中通过逻辑表达式来实现匹配条件,从而实现表的连接。
    • ANSI连接语法形式,在from子句中使用join...on关键字,而连接条件写在关键字on子句中

    INNER JOIN ON语法形式:

    select field1,field2,...,fieldn from join_tablename1 inner join join_tablename2 [inner join join_tablename] on join_condition;

    自然连接(NATURE JOIN)

    根据表关系中相同名称的字段自动进行记录匹配,然后去掉重复的字段

    等值连接

    等值连接是在表关系的笛卡尔积中,选择匹配字段值相等的数据记录。

    不等连接

    不等连接是在表关系的笛卡尔积中,选择所匹配字段值不相等的数据记录。

    4、外连接(OUTER JOIN)

    外连接是指在表关系的笛卡尔积中,不仅保留所匹配的数据记录,而且还会保留部分不匹配的数据记录。

    语法形式:

    select field1,field2,...,fieldn from join_tablename1 left|right [outer] join join_tablename2 on join_condition;

    左外连接(LEFT OUTER JOIN)

    在外连接是指在表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含关联左边表中不匹配的数据记录。

    右外连接(RIGHT OUTER JOIN)

    右外连接是指在表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含关联右边表中不匹配的数据记录。

  • 相关阅读:
    带你梳理Roach全量恢复的整体流程
    为AR&VR黑科技:以“自由视角”360度尽展舞台唯美
    一个15年的架构师谈“如何成为一名优秀的解决方案架构师”
    SARIF:DevSecOps工具与平台交互的桥梁
    “蚂蚁牙黑”太火,想玩就用ModelArts做一个!
    图神经网络,这到底是个什么?
    Python 面向对象进阶
    Python 装饰器
    SQL 存储过程中事务回滚
    python 迭代器协议和生成器
  • 原文地址:https://www.cnblogs.com/alphajuns/p/9914635.html
Copyright © 2020-2023  润新知