有人能指出我做错了什么吗?我加入了两个表,每个表有60,000行,但是当我加入它们时,它需要永远,然后我最终得到一个有1000万行的表?
CREATE TABLE VAR_PEAK AS
SELECT a.*, b.PKN, b.PKS
FROM VARPEAKX a, VARPEAKZ b
WHERE a.ID_NO = b.ID_NO
除了b.PKN,b.PKS,
列之外,表格是相同的VARPEAKX
的数据是这样的ID_NO PKNW PKNWS
5454 1.5 2.5
而且VARPEAKZ的数据是这样的
ID_NO PKN PKS
5454 1.5 2.5
答案 0 :(得分:2)
如果你想到的话,你得到的结果是正常的:
SQL Joins子句用于组合两个或多个记录 数据库中的表。 JOIN是一种组合两个字段的方法 通过使用每个值共有的值来表。
可能是架构可以使用JOIN
关键字更好地解释您的结果:
因此,根据共享3 600 000 000
ID_NO
(60 000 x 60 000)行
答案 1 :(得分:-2)
它永远服用的第一个原因是你正在使用跨产品。这是一项不同的昂贵操作。您应该使用内部或外部联接
更改
CREATE TABLE VAR_PEAK AS SELECT a.*, b.PKN, b.PKS FROM VARPEAKX a, VARPEAKZ b
WHERE a.ID_NO = b.ID_NO
到
CREATE TABLE VAR_PEAK AS SELECT a.*, b.PKN, b.PKS FROM VARPEAKX a inner join VARPEAKZ b
on a.ID_NO = b.ID_NO