文末有数据库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');