• MySQL-表连接


    MySQL别名

    SELECT CONCAT_WS(', ', lastName, firstname) AS `Full name`      #CONCAT_WS函数用于字符串的拼接
    FROM employees;

    MySQL-INNER JOIN运算

    功能介绍:将一个表中的行与其他表中的行进行匹配,并允许从两个表中查询包含列的行记录。

    INNER JOIN语句之前,必须指定以下条件:

    第一,在From语句中指定主表。

    第二,表中要连接的主表应该出现在INNER JOIN语句中。理论上说,可以连接多个其他表。 但是,为了获得更好的性能,应该限制要连接的表的数量(最好不要超过三个表)。

    第三,连接条件或连接谓词。连接条件出现在INNER JOIN语句的ON关键字之后。连接条件是将主表中的行与其他表中的行进行匹配的规则。

    假设使用INNER JOIN子句连接两个表:t1和t2
    
    SELECT column_list FROM t1 INNER JOIN t2 ON join_condition;

      对于t1表中的每一行,INNER JOIN语句将它与t2表的每一行进行比较,以检查它们是否都满足连接条件。当满足连接条件时,INNER JOIN将返回由t1t2表中的列组成的新行。

      请注意,t1t2表中的行必须根据连接条件进行匹配。如果找不到匹配项,查询将返回一个空结果集。当连接超过2个表时,也应用此逻辑。

    MySQL-LEFT JOIN运算

    功能介绍:从两个或多个数据库表查询数据。

    假设要从两个表t1和t2查询数据。
    SELECT 
        t1.c1, t1.c2, t2.c1, t2.c2
    FROM
        t1
            LEFT JOIN
        t2 ON t1.c1 = t2.c1;

      当使用LEFT JOIN语句将t1表加入t2表时,如果来自左表t1的行与基于连接条件(t1.c1 = t2.c1)的右表t2匹配,则该行将被包含在结果集中。

      如果左表中的行与右表中的行不匹配,则还将选择左表中的行并与右表中的“”行组合。“”行对于SELECT子句中的所有相应列都包含NULL值。

    MySQL-CROSS JOIN运算

    功能介绍:CROSS JOIN语句从连接的表返回行的笛卡儿乘积。

    连接两个表:T1和T2的CROSS JOIN子句的语法:
    SELECT 
        *
    FROM
        T1
            CROSS JOIN
        T2;

      将两张表的情况全部列举出来

      结果表: 列= 原表列数相加,行= 原表行数相乘

     MySQL-INTERSECT操作符(交集)

    功能介绍:INTERSECT运算符是一个集合运算符,它只返回两个查询或更多查询的交集。

    INTERSECT语法:
    
    (SELECT column_list 
    FROM table_1)
    INTERSECT
    (SELECT column_list
    FROM table_2);

    INTERSECT运算符用于两个查询,应用以下规则:

    第一:列的顺序和数量必须相同。

    第二:相应列的数据类型必须兼容或可转换

  • 相关阅读:
    读《持续交付2.0》
    “兼职”运维的常用命令
    技术管理者怎样跳出“泥潭”
    使用RabbitMQ实现接口补偿
    dotNET Core 中怎样操作 AD?
    dotNET Core实现分布式环境下的流水号唯一
    Git 远程仓库
    分之管理
    git 基本操作----git diff
    git 基本操作----git reset、log
  • 原文地址:https://www.cnblogs.com/loser1949/p/8152004.html
Copyright © 2020-2023  润新知