如何在SQL中使用关系字段合并两个表
我在一个SQL中有两个相当大的表,它们共享一列来进行关系分析 我只想从一个合并表中提取大约10000个条目,所以我不必查询整个数据库 我希望尽可能地通用,所以假设我们有一个表,其中包含字段A、B、C,另一个表包含字段C、D、E。每个表大约有300万个条目。我的输出应该是一个包含a、B、C、D、E的表,只有10000个条目如何在SQL中使用关系字段合并两个表,sql,Sql,我在一个SQL中有两个相当大的表,它们共享一列来进行关系分析 我只想从一个合并表中提取大约10000个条目,所以我不必查询整个数据库 我希望尽可能地通用,所以假设我们有一个表,其中包含字段A、B、C,另一个表包含字段C、D、E。每个表大约有300万个条目。我的输出应该是一个包含a、B、C、D、E的表,只有10000个条目 谢谢 下面是SQL Server中的一个答案 Select A, B, C, D, E from table1 t1 inner join t
谢谢 下面是SQL Server中的一个答案
Select
A, B, C, D, E
from
table1 t1
inner join
table2 t2 on t1.c = t2.c
limit 3000000
select top(10000) A, B, C, D, E
into t3
from t1 join t2 on t1.pk = t2.fk
以下是MySQL中的一个答案
create table t3 as
select A, B, C, D, E
from t1 inner join t2 on t1.pk = t2.fk
limit 10000
选择前10000名
A、 B,C,D,E
从…起
表1 t1
内连接
表2 t1.c上的t2=t2.c
纽伊德订购
通过以上查询,我们将获得10k个随机记录 根据您使用的RDBMS使用join和Top或limit?博士后?神谕DB2?Firebird?SQL女士,在Azure,您甚至不知道他使用的是哪种SQL产品
SELECT k.A,k.B,k.C,k.D,k.E
FROM
(
SELECT t1.A,t1.B,t1.C,t2.D,t2.E,ROW_NUMBER() OVER ( ORDER BY t1.c ) AS rn
FROM table1 t1
INNER JOIN
table2 t2
ON t1.c = t2.c
) k
WHERE k.rn <= 10000;