Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1528610
  • 博文数量: 164
  • 博客积分: 2993
  • 博客等级: 少校
  • 技术积分: 1718
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-24 11:42
文章分类

全部博文(164)

文章存档

2014年(1)

2013年(36)

2012年(90)

2011年(37)

分类: Mysql/postgreSQL

2012-07-23 14:42:45

问题:要复制一张表中的部分字段到一张新表中去,并在新表中新增一个字段id,自动增加。

1.首先想到的是用select into,但是MYSQL不支持这一语法
MYSQL不支持:
        Select * Into new_table_name from old_table_name;
替代方法:
        Create table new_table_name (Select * from old_table_name);

2.full join问题
可以  A Left JOIN B   UNION   B Left JOIN A
也就是
SELECT ... FROM A LEFT JOIN B ON (关联条件)
UNION
SELECT ... FROM B LEFT JOIN A ON (关联条件)

注意:
这里的原理,是因为 UNION 操作, 会合并掉重复的。
前面的
A LEFT JOIN B , 包含了  A与B 都有的, 与 A 有 B 没有的。
后面的
B LEFT JOIN A, 包含了  A与B 都有的, 与 B 有 A 没有的。

UNION 处理以后,最后结果就是包含
阅读(1250) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~