• mysql中的连接操作


    1.交叉连接

    交叉连接不带WHERE子句,会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积。



    2.内连接:

    内连接合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行。
    语法:
    SELECT <列名>
    FROM 表1  INNER  JOIN  表2
    ON 表1.列名  条件运算符  表2.列名
    [WHERE 条件]
    [ORDER BY  排序列]

    (1)等值连接
    等值连接必须要有等值的条件,当条件不同时连接的结果也不相同,两个关系可以没有相同的属性列(列名可不同)

    L表:


    Y表:


    where条件为:

    L.A=Y.B:


    L.B=Y.B:


    (2)自然连接:

    自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。

    (3)不等值连接:出等号之外的运算符

    3.外连接:
    外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出。(连接条件里属性列可同可不同)
    (1)左外联结   (LEFT JOIN):
    左外连接使用LEFT JOIN连接两表,连接时左表为主表,左表中的每条记录必定出现在结果集中,而在右表中没有对应的记录,将以NULL值进行填充。
    语法:
    SELECT * FROM TABLE_A
    LEFT JOIN TABLE_B
    ON 连接条件
    [WHERE 条件]

    例:select * FROM L left JOIN Y on L.B=Y.C


    (2)右外联结   (RIGHT JOIN):
    右外连接与左外连接相似,不同的是右表为主表,右表中的每条记录必定出现在结果集中,而在左表中没有对应的记录,将以NULL值进行填充。
    语法:
    SELECT * FROM TABLE_A
    RIGHT JOIN TABLE_B
    ON 连接条件

    [WHERE 条件]

    例:select * FROM L RIGHT  JOIN Y on L.B=Y.C


    4.内外连接的区别:


  • 相关阅读:
    在linux CentOS7 安装Nginx 部署vue
    VS Code 用Vue Cli创建项目
    CentOS8通过命令设置IP地址
    C# .net Core WebApi 系列(一)创建与使用
    JS、C#编码解码
    C#通用类库--数字转为人民币汉字大写表示
    CheckUtil类
    Windows服务用bat命令安装与卸载
    突然的兴趣,我想写一个提取图片中特定颜色图像的程序
    一些常用的基础操作记录
  • 原文地址:https://www.cnblogs.com/mlan/p/11060377.html
Copyright © 2020-2023  润新知