zoukankan      html  css  js  c++  java
  • 表连接

    数据库表之间的连接类型

    1,内连接

    inner join

    内连接,对于mysql和postgresql是默认的连接方式

    连接的表中,结果只显示完全符合条件的表记录信息,使用ON来指定表之间的连接条件

    2,左外连接

    left [outer] join

    左外连接,从左表那里返回所有的符合where的记录,不满足连接条件的右表列用NULL补齐,使用ON来指定表之间的连接条件

    3,右外连接

    right [outer] join

    右外连接,从右表那里返回所有的符合where的记录,不满足连接条件的左表列用NULL补齐,使用ON来指定表之间的连接条件

    4,全连接

    full [outer] join

    全连接,将两个表的所有记录都返回,不满足连接条件的列用NULL填充,mysql不支持全连接

    5,交叉连接

    cross join

    交叉连接,返回结果是两个表的笛卡尔积

    postgresql连接条件特有:

    使用USING(列)来定义连接条件,连接的两端都具有相同的连接列名。它接受共享列名的一个逗号分隔 列表,并且为其中每一个共享列构造一个包含等值比较的连接条件。 例如用USING (a, b)连接T1 和T2会产生连接条件 ON T1.a = T2.a AND T1.b = T2.b

    JOIN USING的输出会废除冗余列:不需要把匹配 上的列都打印出来,因为它们必须具有相等的值。

    NATURALUSING的缩写形式

    T1 NATURAL { [INNER] | { LEFT | RIGHT | FULL } [OUTER] } JOIN T2

    它形成一个USING列表, 该列表由那些在两个表里都出现了的列名组成。和USING一样,这些列只在输出表里出现一次。如果不存在公共列,NATURAL的行为将和CROSS JOIN一样。

  • 相关阅读:
    Python编码和文件操作
    Python的list和tuple及dictionary
    Python代码对比
    python的基础知识
    day2 springcloud组件(nacos注册/配置中心 feign组件请求调用 gateway网关)
    springcloud与springboot版本对应关系
    git配置
    day1 分布式基础概念
    spring中的依赖注入(DI)笔记
    20210223 爱生气的书店老板(滑动窗口)
  • 原文地址:https://www.cnblogs.com/hellowcf/p/6868435.html
Copyright © 2011-2022 走看看