SQL JOIN 理解

在这里插入图片描述

实践

创建mysql表

-- ----------------------------
-- Table structure for `author`
-- ----------------------------
DROP TABLE IF EXISTS `author`;
CREATE TABLE `author` (
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `bio` varchar(255) DEFAULT NULL,
  `favourite_section` varchar(255) DEFAULT NULL,
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of author
-- ----------------------------
INSERT INTO `author` VALUES ('zhangsan', '@WSX3edc', 'aaaa@qq.com', 'test', 'play', '1');
INSERT INTO `author` VALUES ('lisi', '123456', 'jili.aa@mail.com', 'aaaa', 'music', '2');
INSERT INTO `author` VALUES ('wangji', '111111', 'ttt@tianmao.com', 'a', 'sell', '4');

-- ----------------------------
-- Table structure for `blog`
-- ----------------------------
DROP TABLE IF EXISTS `blog`;
CREATE TABLE `blog` (
  `title` varchar(255) DEFAULT NULL,
  `author_id` varchar(255) DEFAULT NULL,
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of blog
-- ----------------------------
INSERT INTO `blog` VALUES ('java', '1', '1');
INSERT INTO `blog` VALUES ('c++', '1', '4');
INSERT INTO `blog` VALUES ('python', '2', '2');
INSERT INTO `blog` VALUES ('php', '3', '3');

相关sql

--A/B
select A.*, B.* from Author A LEFT JOIN Blog B on B.author_id = A.id;
select A.*, B.* from Author A RIGHT JOIN Blog B on B.author_id = A.id
--A-B
select A.*, B.* from Author A LEFT JOIN Blog B on B.author_id = A.id where B.author_id is NULL;
--A交B
select A.*, B.* from Author A INNER JOIN Blog B on B.author_id = A.id;
--A并B
select A.*, B.* from Author A FULL OUTER JOIN Blog B on B.author_id = A.id;
select A.*, B.* from Author A LEFT JOIN Blog B on B.author_id = A.id UNION select A.*, B.* from Author A RIGHT JOIN Blog B on B.author_id = A.id;
--A-B并B-A
select A.*, B.* from Author A LEFT JOIN Blog B on B.author_id = A.id where B.author_id is NULL UNION select A.*, B.* from Author A RIGHT JOIN Blog B on B.author_id = A.id where A.id is NULL;;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值