美文网首页
一张图告诉你SQL使用inner join,left join

一张图告诉你SQL使用inner join,left join

作者: JavaPub | 来源:发表于2020-12-10 18:52 被阅读0次

    文末有数据库sql
    @[toc]

    表数据

    新建了俩张表


    在这里插入图片描述
    在这里插入图片描述

    SQL查询

    inner join

    求交集

    SELECT * FROM user1 a INNER JOIN user2 b ON a.name = b.name;

    在这里插入图片描述
    在这里插入图片描述

    union

    求并集

    SELECT * FROM user1 UNION SELECT * FROM user2;

    在这里插入图片描述

    union all

    并集

    SELECT * FROM user1 UNION ALL SELECT * FROM user2;


    在这里插入图片描述

    left join

    SELECT * FROM user1 a LEFT JOIN user2 b ON a.name=b.name;

    在这里插入图片描述
    在这里插入图片描述

    IS NULL

    SELECT * FROM user1 a LEFT JOIN user2 b ON a.name=b.name WHERE b.name IS NULL;

    在这里插入图片描述
    在这里插入图片描述

    right join

    SELECT * FROM user1 a RIGHT JOIN user2 b ON a.name=b.name;

    在这里插入图片描述 在这里插入图片描述

    is null

    SELECT * FROM user1 a RIGHT JOIN user2 b ON a.name=b.name WHERE a.name IS NULL;

    在这里插入图片描述 在这里插入图片描述

    FULL OUTER JOIN

    SELECT * FROM user1 FULL OUTER JOIN user2 ON user1.name=user2.name;

    在这里插入图片描述

    sql文件

    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for user1
    -- ----------------------------
    DROP TABLE IF EXISTS `user1`;
    CREATE TABLE `user1` (
      `id` int(11) NOT NULL,
      `name` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of user1
    -- ----------------------------
    INSERT INTO `user1` VALUES ('1', 'zhangsan');
    INSERT INTO `user1` VALUES ('2', 'lisi');
    INSERT INTO `user1` VALUES ('3', 'wangwu');
    
    -- ----------------------------
    -- Table structure for user2
    -- ----------------------------
    DROP TABLE IF EXISTS `user2`;
    CREATE TABLE `user2` (
      `id` int(11) NOT NULL,
      `name` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of user2
    -- ----------------------------
    INSERT INTO `user2` VALUES ('1', 'zhangsan');
    INSERT INTO `user2` VALUES ('2', 'lisi');
    INSERT INTO `user2` VALUES ('3', 'maliu');
    
    

    相关文章

      网友评论

          本文标题:一张图告诉你SQL使用inner join,left join

          本文链接:https://www.haomeiwen.com/subject/htmrgktx.html