SQL UNION:组合SQL查询的最佳方法

在实际应用中,大多数时候都需要从多个表中获取数据,以检索有用的信息。SQL提供了几个工具来完成这个任务,其中一个工具是SQL UNION操作符。这用于合并对不同表的列执行的两个选择命令的结果。

在实际应用中,大多数时候都需要从多个表中获取数据,以检索有用的信息。SQL提供了几个工具来完成这个任务,其中一个工具是SQL UNION操作符。这用于合并对不同表的列执行的两个选择命令的结果。

在这篇关于SQL UNION操作符的文章中,我们将涉及以下主题:

  • 什么是SQL中的UNION/li>
  • 使用SQL UNION操作符的语法
  • 在单个字段上使用UNION
  • 在多个字段上使用UNION
  • 使用UNION操作符的Where子句
  • 使用UNION与别名
  • UNION ALL Operator

什么是SQL中的UNION/strong>

UNION操作符用于将两个或多个SELECT命令查询结果中的数据合并成一个单独的结果集。这个操作符可以删除组合结果中存在的任何重复的数据。

SQL UNION:组合SQL查询的最佳方法

为了理解这个操作符,我们来深入了解一下它的语法。

使用SQL UNION操作符的语法
SELECT column_1, column_2,...column_nFROM table_1UNIONSELECT column_1, column_2,...column_nFROM table_2;
  • 在UNION内,每个SELECT命令所检索的列数必须相同。
  • 每个SELECT语句中相同位置的列应该具有相似的数据类型。例如,”char “和 “varchar “是相同的数据类型。
  • 在SELECT语句中,列的顺序必须正确。

让我们把这个操作符应用于不同表的列。

在单个字段上使用UNION

我们以下面的表 “Employee_dept “为例:

SQL UNION:组合SQL查询的最佳方法

又以 “经理 “表为例:

SQL UNION:组合SQL查询的最佳方法

要从上面两张表中确定员工和经理属于哪个城市,我们将使用以下查询。

SQL UNION:组合SQL查询的最佳方法

这将导致以下结果:

SQL UNION:组合SQL查询的最佳方法

这表明结果中没有副本存在。结果列的名称是 “城市”,因为结果占用了第一个SELECT语句的列名。

在多个字段上使用UNION

我们可以对多列应用UNION,也可以在最后使用ORDER BY操作符对结果进行排序,要从上面两个示例表中检索每个员工和经理的姓名和部门,你将使用以下代码:

SQL UNION:组合SQL查询的最佳方法

这将导致以下结果:

SQL UNION:组合SQL查询的最佳方法

结果按照 “Dept_ID “进行排序。我们还可以对每个SELECT语句检索到的行进行过滤。让我们来看看是如何做到这一点的。

使用带UNION操作符的Where子句

我们可以在一个或两个SELECT语句中使用WHERE子句来筛选出被合并的行。为了从 “Employee_dept “和 “Manager “表中检索超过60,000的员工和经理姓名和工资,我们将输入以下内容。

SQL UNION:组合SQL查询的最佳方法

这将导致以下结果:

SQL UNION:组合SQL查询的最佳方法

我们也可以在UNION的SELECT语句中只使用一个WHERE子句。要找到数据集中所有经理的名字和地址,以及所有雇员的 “Dept_ID “等于1003。

SQL UNION:组合SQL查询的最佳方法

这将导致以下结果:

SQL UNION:组合SQL查询的最佳方法

使用UNION与别名

SQL别名是给表或列的临时名称。这些别名只存在于它们被使用的查询期间。我们使用 “AS “操作符来创建别名。例如,我们将使用下面的查询来检索所有员工和经理的信息,我们将根据他们的角色对他们进行分类。

SQL UNION:组合SQL查询的最佳方法

在上面的查询中,我们已经创建了一个临时列,标签为 “类型”,它将用于将信息归类为员工或经理信息。下面是上述查询的结果。

SQL UNION:组合SQL查询的最佳方法

在UNION结果的临时 “类型 “列中,经理被标记为 “经理”,其下属被标记为 “雇员”。别名有助于创建有组织的表格结果。

UNION ALL 操作员

UNION操作符不允许任何重复。如果我们希望两个或多个SELECT语句的组合中出现重复,我们可以使用UNION ALL操作符。

SQL UNION:组合SQL查询的最佳方法

这个SQL操作符与UNION操作符的规则相同,只是在语法中使用UNION ALL关键字而不是UNION关键字。例如,如果我们想要从 “Employee_dept “和 “Manager “表中得到所有城市的列表(包括重复的),我们将使用下面的查询。

SQL UNION:组合SQL查询的最佳方法

这将导致以下结果:

SQL UNION:组合SQL查询的最佳方法

我们可以看到,结果包含了所有城市,包括所有重复的城市。至此,关于UNION操作符的文章就结束了。


关于大数据分析平台

大数据分析平台「GetInsight升级发布,将基于企业管理驾驶舱、产品质量分析及预测、设备分析及预测等大数据模型的构建,助力企业由传统运营模式向数字化、智能化的新模式转型升级,抓住数据经济的发展势头,提供管理效能,精准布局未来。了解更多,请联系在线客服。

大数据专业团队为企业提供商业智能大数据平台搭建,免费业务咨询,定制开发等完整服务,快速、轻松、低成本将任何Hadoop集群从试用阶段转移到生产阶段。

欢迎拨打热线或咨询在线客服,我们有专业的大数据团队,为您提供免费大数据相关业务咨询!

标签:大数据SQL

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月13日
下一篇 2020年11月13日

相关推荐

发表回复

登录后才能评论