为SQL源代码编写伪代码的正确方法是什么?
例如,我有这个SQL源:
DELETE temp FROM temp LEFT JOIN DBSNFP
ON temp.CHROM=DBSNFP.CHROM AND temp.POS=DBSNFP.POS
WHERE DBSNFP.CHROM IS NULL
和我写的等效伪代码:
IF not exist in (Join INPUT and DBSNFP on INPUT.chrom==DBSNFP.chrom AND INPUT.pos==DBSNFP.pos) THENE
Delete
END IF
我写的是对的吗?如果没有,我该怎么写呢?
答案 0 :(得分:2)
在我看来,这个查询的规范 - 伪代码 - 应该如下所示:
删除
temp
中缺少DBSNFP
中任何匹配行的每一行, 其中“匹配”被定义为在CHROM
中共享公共值 和pos
colummns。
但是,如果我可能如此大胆,那么用应用程序领域的语言陈述这些东西是更好的设计规则。这种伪代码的目的是帮助需要在十年后调试应用程序的人。我不知道你的域名,所以我猜。像这样:
在使用
temp
表格将色度值指定给位置之前 要交付的产品,删除temp
中没有的所有项目 匹配色度值和位置的官方主列表。 (在里面DBSNFP
表)。