美文网首页
一张图告诉你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