这个SQL是什么意思?

时间:2015-12-13 18:42:42

标签: sql

我需要一些帮助来理解SQL语句:

select customerID as customerid, RAND() as random
from customer tablesample system(10)
fetch first row only with ur

这对我来说没有意义。谁能告诉我它的实际含义? 它甚至是一个正确的SQL吗?

还有一些问题:

  1. 是否需要“as customerid”?

  2. 是否需要“随机”?

  3. “tablesample system(10)”是什么意思?

  4. “with ur”是什么意思?

  5. 是否有必要将Rand()和tableample系统(10)与你们一起使用?

  6. 感谢您的帮助

1 个答案:

答案 0 :(得分:2)

" as customerid"和"随机"只是结果集的标签,所以它们不是必需的(如果你不包含它们,标签就是列名,即customerID和RAND())  RAND()取0到1之间的随机数,并将其与结果中的ID相关联  获取第一行将选择查询的第一行

tablesample system(10):它只选择表格中的一部分,具体取决于你提供的数字(10表示10%):你可以在这里阅读https://wiki.postgresql.org/wiki/TABLESAMPLE_Implementation

用UR表示' Uncommited Read'你可以在这里了解它 http://www.anesi.com/v41004.htm

查询的作用是从表的随机10%中选择customerID,并将它们中的每一个与0到1之间的随机数相关联,然后获取这些所选customerID中的第一个及其各自的随机数数字并将其返回到带有标签" customerid"的表格中。和"随机"。

希望这能回答你的问题。