SQL<左连接、右连接、内连接>

表结构:tablea ,tableb

DROP TABLE IF EXISTS `tablea`;
CREATE TABLE `tablea` (
  `boookid` int(100) NOT NULL,
  `bookname` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tablea
-- ----------------------------
INSERT INTO `tablea` VALUES ('1', '图书1');
INSERT INTO `tablea` VALUES ('2', '图书2');
INSERT INTO `tablea` VALUES ('3', '图书3');
INSERT INTO `tablea` VALUES ('4', '图书4');
INSERT INTO `tablea` VALUES ('6', '图书6');

-- ----------------------------
-- Table structure for tableb
-- ----------------------------
DROP TABLE IF EXISTS `tableb`;
CREATE TABLE `tableb` (
  `bookid` int(100) NOT NULL,
  `name` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tableb
-- ----------------------------
INSERT INTO `tableb` VALUES ('1', '张三');
INSERT INTO `tableb` VALUES ('2', '李四');
INSERT INTO `tableb` VALUES ('3', '小明');
INSERT INTO `tableb` VALUES ('4', '王五');
INSERT INTO `tableb` VALUES ('5', '小李');

*左链接查询

select * from tablea a LEFT JOIN tableb b on a.boookid = b.bookid

*查询结果

《SQL<左连接、右连接、内连接>》” /></a>*从查询结果中可以看到 <span style=left join 是以 tablea 表的记录为基础,tableb只显示符合搜索条件的记录,不符合的显示为NULL

*右链接查询

select * from tablea a RIGHT JOIN tableb b on a.boookid = b.bookid

*查询结果

《SQL<左连接、右连接、内连接>》” /></a>* 和左链接相反tablea只显示符合条件的记录不符合的显示为NULL,tableb则显示全部数据</p>
<p>*内连接查询</p>
<pre class=select * from tablea a INNER JOIN tableb b on a.boookid = b.bookid

*查询结果

《SQL<左连接、右连接、内连接>》” /></a>* 查询出来的只是符合条件的,也是表A的bookeid和表B的bookid相等的。</p>
												</div>
						<footer class=

点赞

发表评论