MYSQL 最近知识总结(3)

来源:互联网 发布:2站域名www.tt69.com 编辑:程序博客网 时间:2024/06/05 06:31
 -- a表      id   name         b表     id     job      parent_id    --           1   张三                  1     程序员     1    --           2   李四                  2     销售       2    --           3   王五                  3     空姐       4 
-- ------------------------------ 建表-- ---------------------------- DROP TABLE IF EXISTS `a`;CREATE TABLE `a` (  `id` int(11) NOT NULL,  `name` varchar(255) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ 插入数据-- ----------------------------INSERT INTO `a` VALUES ('1', '张三');INSERT INTO `a` VALUES ('2', '李四');INSERT INTO `a` VALUES ('3', '王五');
-- ------------------------------ 建表-- ----------------------------DROP TABLE IF EXISTS `b`;CREATE TABLE `b` (  `id` int(11) NOT NULL,  `job` varchar(255) DEFAULT NULL,  `parent_id` int(11) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ 插入数据-- ----------------------------INSERT INTO `b` VALUES ('1', '程序员', '1');INSERT INTO `b` VALUES ('2', '销售', '2');INSERT INTO `b` VALUES ('3', '空姐', '4');
-- 内连接 select a.*,b.* from a inner join b  on a.id = b.parent_id
-- 左外连接select a.*,b.* from a left  join b  on a.id = b.parent_id-- 也可以: select a.*,b.* from a left  outer  join b  on a.id = b.parent_id 
-- 右外连接select a.*,b.* from a right  join b  on a.id = b.parent_id-- 也可以: select a.*,b.* from a right  outer  join b  on a.id = b.parent_id 
-- 全连接   mysql不支持full join   可以用左链接UNION 有链接实现select a.*,b.* from a left  join b  on a.id = b.parent_id  UNION select a.*,b.* from a right  join b  on a.id = b.parent_id-- 也可以:  
-- 普通的条件连接 select a.*,b.* from a ,b  where a.id = b.parent_id