Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查询2个表中的所有结果_Sql - Fatal编程技术网

Sql 查询2个表中的所有结果

Sql 查询2个表中的所有结果,sql,Sql,我有一个sql问题。它应该很简单,但我想不出来。 我有两张桌子: **customer1 -** id name 1 aaa 2 bbb 3 ccc 4 ddd **customer2**- id name 1 aaa 2 bbb 5 eee 6 fff 我需要让两张桌子上的所有顾客都来。 我需要以这样一种方式进行查询:如果一个客户同时出现在两个表中,我将在结果中看到他两次(

我有一个sql问题。它应该很简单,但我想不出来。 我有两张桌子:

**customer1 -** 
id      name
1       aaa
2       bbb
3       ccc
4       ddd

**customer2**-
id      name
1       aaa
2       bbb
5       eee
6       fff
我需要让两张桌子上的所有顾客都来。 我需要以这样一种方式进行查询:如果一个客户同时出现在两个表中,我将在结果中看到他两次(例如aaa、bbb),而所有其他的结果都只有一次


非常感谢。

请注意UNIONUNION ALL,第一个不会重复,第二个查询结果甚至会重复

select id, name from customer1
union all
select id, name from customer2
让我们来谈谈性能: 一个联合是高度优化且非常快速的,除非一个查询比另一个查询早完成,并且您必须等待获得整个结果集


当您不介意重复时,UNION ALL会更快。

请注意UNIONUNION ALL,第一个不会重复,第二个查询结果甚至会重复

让我们来谈谈性能: 一个联合是高度优化且非常快速的,除非一个查询比另一个查询早完成,并且您必须等待获得整个结果集


当你不介意重复的时候,UNION ALL会更快。

我会把这个作为一个评论放到:Raghavendra Kedlaya post;但它不让我这么做

我想知道使用union all时数据从何而来

SELECT id, name, 'Customer1' as src 
FROM customer1 
UNION ALL 
SELECT id, name, 'Customer2' as src
FROM customer2

我会把这作为一个评论:Raghavendra Kedlaya post;但它不让我这么做

我想知道使用union all时数据从何而来

SELECT id, name, 'Customer1' as src 
FROM customer1 
UNION ALL 
SELECT id, name, 'Customer2' as src
FROM customer2


你能分享一下这个示例的结果吗?你使用的是什么数据库管理系统,sql server,oracle,mysql…?-标记您的问题。请向我们展示您到目前为止所做的尝试。您能分享您期望从这个示例中获得的结果吗?您使用的是什么dbms,sql server,oracle,mysql…?-标记您的问题。请向我们展示您迄今为止所做的尝试。通过此查询,我不会得到两次我想要的结果,并且我只会将每一行作为一个并集得到一次。非常奇怪的
union all
应该会返回两个表中的所有数据。因此,如果customer1有10条记录,customer2有5条记录,那么最终将有15条记录包含所需的副本!试过了,对我有用。得到了8个重复的结果。使用mysql 5.7这个查询,我不会得到两次我想要的结果,我只得到一次每一行的联合。非常奇怪的
union all
应该返回两个表中的所有数据。因此,如果customer1有10条记录,customer2有5条记录,那么最终将有15条记录包含所需的副本!试过了,对我有用。得到了8个重复的结果。使用mysql 5.7谢谢,你知道在mysql中是否也可以使用UNIONALL吗?mysql有这两个功能,几乎所有的RDBMS引擎都应该有。这就是@Raghavendrakedlaya在他们的示例中使用的内容。链接到mysql union all:奇怪,我在phpmyadmin中mysql中的“all”字旁边得到了一个红色标记。我想知道,我没有得到重复的值。谢谢,你知道在mysql中是否也可以实现union all吗?mysql有这两个,几乎所有的RDBMS引擎都应该有。这就是@Raghavendrakedlaya在他们的示例中使用的内容。链接到mysql union all:奇怪,我在phpmyadmin中mysql中的“all”字旁边得到了一个红色标记。我没有得到我想要的重复值