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