• 雷林鹏分享:MySQL UNION 操作符


      本教程为大家介绍 MySQL UNION 操作符的语法和实例。

      描述

      MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

      语法

      MySQL UNION 操作符语法格式:

      SELECT expression1, expression2, ... expression_n

      FROM tables

      [WHERE conditions]

      UNION [ALL | DISTINCT]

      SELECT expression1, expression2, ... expression_n

      FROM tables

      [WHERE conditions];

      参数

      expression1, expression2, ... expression_n: 要检索的列。

      tables: 要检索的数据表。

      WHERE conditions: 可选, 检索条件。

      DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

      ALL: 可选,返回所有结果集,包含重复数据。

      演示数据库

      在本教程中,我们将使用 CODERCTO 样本数据库。

      下面是选自 "Websites" 表的数据:

      mysql> SELECT * FROM Websites;

      +----+--------------+---------------------------+-------+---------+

      | id | name | url | alexa | country |

      +----+--------------+---------------------------+-------+---------+

      | 1 | Google | https://www.google.cm/ | 1 | USA |

      | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |

      | 3 | 码农教程 | http://www.codercto.com/ | 4689 | CN |

      | 4 | 微博 | http://weibo.com/ | 20 | CN |

      | 5 | Facebook | https://www.facebook.com/ | 3 | USA |

      | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |

      +----+---------------+---------------------------+-------+---------+

      下面是 "apps" APP 的数据:

      mysql> SELECT * FROM apps;

      +----+------------+-------------------------+---------+

      | id | app_name | url | country |

      +----+------------+-------------------------+---------+

      | 1 | QQ APP | http://im.qq.com/ | CN |

      | 2 | 微博 APP | http://weibo.com/ | CN |

      | 3 | 淘宝 APP | https://www.taobao.com/ | CN |

      +----+------------+-------------------------+---------+

      3 rows in set (0.00 sec)

      SQL UNION 实例

      下面的 SQL 语句从 "Websites" 和 "apps" 表中选取所有不同的country(只有不同的值):

      实例

      SELECT country FROM Websites

      UNION

      SELECT country FROM apps

      ORDER BY country;

      注释:UNION 不能用于列出两个表中所有的country。如果一些网站和APP来自同一个国家,每个国家只会列出一次。UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值!

      SQL UNION ALL 实例

      下面的 SQL 语句使用 UNION ALL 从 "Websites" 和 "apps" 表中选取所有的country(也有重复的值):

      实例

      SELECT country FROM Websites

      UNION ALL

      SELECT country FROM apps

      ORDER BY country;

      带有 WHERE 的 SQL UNION ALL

      下面的 SQL 语句使用 UNION ALL 从 "Websites" 和 "apps" 表中选取所有的中国(CN)的数据(也有重复的值):

      实例

      SELECT country, name FROM Websites

      WHERE country='CN'

      UNION ALL

      SELECT country, app_name FROM apps

      WHERE country='CN'

      ORDER BY country;

      点击查看所有 MySQL 教程 文章: https://www.codercto.com/courses/l/30.html(编辑:雷林鹏 来源:网络 侵删)

  • 相关阅读:
    互联网、云大数据相关书籍推荐
    育儿、教育书籍推荐
    MySQL客户端工具的选择
    解决Windows10或者其他版本Windows Update报错的问题
    启动Myeclipse报错“Failed to create the Java Virtual Machine”的解决办法
    mysql的日期存储字段比较int,datetime,timestamp区别
    nginx增加ssl服务方法
    mysql导入出现MySQL Error 1153
    mysql忘记密码修改方法
    清空本地ssh记录数据,ssh: connect to host Ip port 22: Connection refused
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/10996797.html
Copyright © 2020-2023  润新知