Mysql数据库select结果集的横向和纵向拼接

06. January 2017 DataBase 0

第一种:纵向拼接

纵向拼接使用 union, union all 全部拼接,不去重。只使用union会过滤重复数据,例如一下测试语句

select name from phpcmsv9.data union all select username from phpcmsv9.v9_admin 效果图如下

screenshot-from-2017-01-06-15-51-09

第二种:横向拼接

如果想把多列毫无相关的数据横向凭借起来确实有点困难,换种思维:不同表中的数据也许没有任何关系,一般情况下每个表都有自增ID这列吧,那么这就可以了,其实就是一个外链接,硬找出关系来,如果数据没有自增ID,其他字段完全不相同,只能造一个自增列了(这个问题曾困扰了我许久)。测试语句如下:

select phpcmsv9.data.name,phpcmsv9.v9_admin.username from phpcmsv9.data left join phpcmsv9.v9_admin  on phpcmsv9.data.id=phpcmsv9.v9_admin.userid

screenshot-from-2017-01-06-16-00-25


Leave a Reply

Your email address will not be published. Required fields are marked *