• SQL之join的简单用法


    SQL之join的简单用法

    SQL语句的JOIN用于把来自两个或多个表的行结合起来

    1)INNER JOIN(内连接)
    产生的结果是两个表中交集(相同列里面的相同值)的行。它返回两个表中所有匹配的数据。例如:

    SELECT *   
    FROM TableA   
    INNER JOIN TableB ON TableA.PK = TableB.PK;
    
    • 1
    • 2
    • 3

    2)LEFT JOIN(左连接)
    结果是左表中的所有行都出现在结果中,而右表中则可能出现空值字段。它返回左表中的所有数据,以及与之匹配的右表中的数据(如果存在)。例如:

    SELECT *   
    FROM employee   
    LEFT JOIN department ON employee.department_id = department.department_id;
    
    • 1
    • 2
    • 3

    3)RIGHT JOIN(右连接)
    结果是右表中的所有行都出现在结果中,而左表中则可能出现空值字段。它返回右表中的所有数据,以及与之匹配的左表中的数据(如果存在)。例如

    SELECT *   
    FROM employee   
    RIGHT JOIN department ON employee.department_id = department.department_id;
    
    • 1
    • 2
    • 3

    4)FULL JOIN(全连接)
    结果是两个表中的所有行都出现在结果中,如果某个表中没有与之匹配的行,则对应列会出现空值。它返回两个表中的所有数据(如果存在匹配的话)。例如

    SELECT *   
    FROM employee   
    FULL JOIN department ON employee.department_id = department.department_id;
    
    • 1
    • 2
    • 3

    5)NATURAL JOIN(自然连接)
    它返回两个表中所有名称相同的列,以及与之匹配的其它列。例如

    SELECT * FROM employee NATURAL JOIN department;
    
    • 1

    6)CROSS JOIN
    也称为叉积,它返回两个表中的所有可能的行组合,不考虑任何条件。结果中的每个行是两个输入表中的行的组合。例如:

    SELECT * FROM TableA CROSS JOIN TableB;
    
    • 1

    7)SELF JOIN
    它用于在一个表上自我连接。这通常用于在一张表上反映两个关联的列之间的关系。例如:

    SELECT * FROM TableA AS t1, TableA AS t2 WHERE t1.id <> t2.id;
    
    • 1

    8)UNION JOIN

    SELECT * FROM TableA UNION JOIN TableB;
    
    • 1
  • 相关阅读:
    python工具-解析wireshark的rtp抓包
    2022杭电多校八 1005-Ironforge(二分+区间暴力)
    使用mac自带服务器(一行命令即可启动)
    网页大作业代码自取【HTML+CSS制作美味糖果网站】
    NumPy学习挑战第四关-NumPy数组属性
    mac使用n切换node版本
    Gorm 快速入门:高效掌握 MySQL 数据库操作的实用指南
    算法通关村第一关-链表青铜挑战笔记
    Part 11:Pandas的索引index所具备的四大性能
    RFID车辆自动化称重管理
  • 原文地址:https://blog.csdn.net/techenliu/article/details/133754460