zoukankan      html  css  js  c++  java
  • 章节2:SQL之多表连接

    Sql的多表连接关系有:内连接、外连接和交叉连接。

    先建立两个用于演示的表:

    TB_Characters:

    Id Character
    1 内向
    2 外向
    3 中性性格

    TB_Colors:

    Id Color
    1 绿色
    2 红色
    4 蓝色

    一、内连接:

    内连接(JOIN  或 INNER JOIN):内连接取交集

    示意图:

    image

    SELECT * FROM tb_characters INNER JOIN tb_colors ON tb_characters.ID = tb_colors.ID;

    结果:

    image

    二、外连接:

    外连接可分为:左连接、右连接、完全外连接。

    1、左连接(LEFT JOIN):

    示意图:

    image

    SELECT * FROM tb_characters LEFT JOIN tb_colors ON tb_characters.ID = tb_colors.ID;

    结果:

    image

    2、右连接(RIGHT JOIN):

    示意图:

    image

    SELECT * FROM tb_characters RIGHT JOIN tb_colors ON tb_characters.ID = tb_colors.ID;

    结果:

    image

    3、完全外连接:

    示意图:

    image

    select * from tb_characters LEFT JOIN tb_colors on tb_characters.ID=tb_colors.ID
    UNION
    select * from tb_characters RIGHT JOIN tb_colors on tb_characters.ID=tb_colors.ID

    结果:

    image

    三、交叉连接( CROSS JOIN ):

    交叉连接产生连接所涉及的表的笛卡尔积。

    SELECT * FROM tb_characters CROSS JOIN tb_colors;

    结果:

    image


    补充:

    1、如下可获取内连接结果:

    SELECT * FROM tb_characters,tb_colors WHERE tb_characters.ID = tb_colors.ID;

    2、如下可获取交叉连接结果:

    SELECT * FROM tb_characters,tb_colors;

  • 相关阅读:
    Windows解决端口占用
    Oracle数字格式化
    Windows生成项目目录结构
    IDEA激活教程
    Windows搭建SMB服务
    在右键新建菜单中添加新项目
    Fastjson1.2.47反序列化+环境搭建+漏洞复现
    nmap常用命令及端口
    Shiro反序列化复现
    CVE-2020-0796漏洞复现
  • 原文地址:https://www.cnblogs.com/hanzhaoxin/p/3590642.html
Copyright © 2011-2022 走看看