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

    • inner join

    SELECT column_name(s)
    FROM table1
    [INNER] JOIN table2 ON table1.column_name = table2.column_name;
    

    结果为: table 1和table 2中都有的数据

    • left outer join

    SELECT column_name(s)
    FROM table_name1
    LEFT [OUTER] JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name
    

    结果: table1 中的全部,table 2中没有的补null

    • right outer jion

    SELECT column_name(s)
    FROM table_name1
    RIGHT [OUTER] JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name
    

    结果:table2 中的全部,table 1 补null

    • full outer join

    SELECT column_name(s)
    FROM table_name1
    FULL JOIN table_name2 
    ON table_name1.column_name=table_name2.column_name
    

    结果:left join 和 right join 的并 ,两边都有补null

    • cross join

    SELECT *
    FROM table1
    CROSS JOIN table2
    

    等价于

    select * from table1,table2
    
    • cross join 和full join 的区别

    cross join 返回talbe1的行数*table2的行数
    full join 返回max(table1的行数,tabel2的行数)

    • 自然连接和内连接

    自然连接是通过对参与表关系中所有同名的属性对取等(即相等比较)来完成的,故无须自己添加连接条件
    内连接与自然连接基本相同,不同之处在于自然连接只能是同名属性的等值连接,而内连接可以使用using或on子句来指定连接条件,连接条件中指出某两字段相等(可以不同名)

  • 相关阅读:
    LeetCode 654. 最大二叉树
    LeetCode 617. 合并二叉树
    LeetCode 234. 回文链表
    LeetCode 328. 奇偶链表
    LeetCode 24. 两两交换链表中的节点
    LeetCode 21. 合并两个有序链表
    LeetCode 876. 链表的中间结点
    顺序表的定义及其相关基本操作
    LeetCode 206. 反转链表
    LeetCode 111. 二叉树的最小深度
  • 原文地址:https://www.cnblogs.com/dotaZhou/p/7094370.html
Copyright © 2011-2022 走看看