当前位置:   article > 正文

MySQL 合并查询结果(Union 关键字)_mysql 查询有多个字段,union查询出的一个字段

mysql 查询有多个字段,union查询出的一个字段

利用 UNION关键字,可以将多个select语句的结果组合成单个结果集。

  1. mysql> select * from students;
  2. +----+--------+-------+------+------+
  3. | id | number | name | sex | age |
  4. +----+--------+-------+------+------+
  5. | 1 | 1111 | LiLy | W | 12 |
  6. | 2 | 1112 | Lucy | W | 11 |
  7. | 3 | 1113 | LiLei | M | 13 |
  8. | 4 | 1117 | Bird | NULL | 33 |
  9. +----+--------+-------+------+------+
  10. 4 rows in set (0.00 sec)
  11. mysql> select id,number,name,age from students where age<13 union select id,number,name,age from students where id in(1,4);
  12. +----+--------+------+------+
  13. | id | number | name | age |
  14. +----+--------+------+------+
  15. | 1 | 1111 | LiLy | 12 |
  16. | 2 | 1112 | Lucy | 11 |
  17. | 4 | 1117 | Bird | 33 |
  18. +----+--------+------+------+
  19. 3 rows in set (0.00 sec)

可以看到,UNION会把 重复的行去掉,返回的行都是唯一的。如果想保留重复行,可以使用 UNION ALL 关键字。

  1. mysql> select id,number,name,age from students where age<13 union all select id,number,name,age from students where id in(1,4);
  2. +----+--------+------+------+
  3. | id | number | name | age |
  4. +----+--------+------+------+
  5. | 1 | 1111 | LiLy | 12 |
  6. | 2 | 1112 | Lucy | 11 |
  7. | 1 | 1111 | LiLy | 12 |
  8. | 4 | 1117 | Bird | 33 |
  9. +----+--------+------+------+
  10. 4 rows in set (0.00 sec)

UNION ALL 关键字执行时需要的资源少,因此在查询结果中没有重复数据或者不需要去掉重复数据的时候,最好使用UNION ALL提高查询效率。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/554589
推荐阅读
相关标签
  

闽ICP备14008679号