我在SQL中有兩個相當大的表格,它們共享一列來執行關係分析。如何使用SQL中的關係字段合併兩個表格
我想從合併表中只抽取大約10,000個條目,所以我不必查詢整個數據庫。
我想盡可能通用,所以我們假設我們有一個表A,B,C和另一個表C,D,E。每個表都有大約300萬個條目。而我的輸出應該是一個只有10,000個條目的A,B,C,D,E表。
謝謝!
我在SQL中有兩個相當大的表格,它們共享一列來執行關係分析。如何使用SQL中的關係字段合併兩個表格
我想從合併表中只抽取大約10,000個條目,所以我不必查詢整個數據庫。
我想盡可能通用,所以我們假設我們有一個表A,B,C和另一個表C,D,E。每個表都有大約300萬個條目。而我的輸出應該是一個只有10,000個條目的A,B,C,D,E表。
謝謝!
Select
A, B, C, D, E
from
table1 t1
inner join
table2 t2 on t1.c = t2.c
limit 3000000
你甚至不知道他正在使用哪個sql產品 – LONG
這裏是SQL Server
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
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;
選擇頂層10000 A,B,C,d,E from table1 t1 inner join 表t1 t2.c在t1.c = t2.c 由newid()訂購
通過上面的查詢我們將得到10k個隨機記錄。
使用基於RDBMS的'join'和('Top'或'limit') – LONG
您正在使用哪些DBMS? Postgres的?甲骨文? DB2?火鳥? –
MS SQL,Azure –