继续使用Stack Exchange Data Explorer学习SQL的精神(参见:
 Can we become our own “Northwind” for teaching SQL / databases?),我决定尝试编写一个查询来回答一个简单的问题(关于元):
 What % of stackoverflow users have over 10,000 rep?. 
这就是我所做的:
Query#1
SELECT COUNT(*) FROM Users WHERE Users.Reputation >= 10000
结果:
556
Query#2
SELECT COUNT(*) FROM USERS
结果:
227691
现在,我如何将它们组合成一个查询?这个查询成语叫什么?我需要写什么,所以我可以得到一个像这样的一行三列结果:
556 227691 0,00244190592
解决方法
 您可以使用
 Common Table Expression (CTE): 
WITH c1 AS (
    SELECT COUNT(*) AS cnt
    FROM Users
    WHERE Users.Reputation >= 10000
),c2 AS (
    SELECT COUNT(*) AS cnt
    FROM Users
)
SELECT c1.cnt,c2.cnt,CAST(c1.cnt AS FLOAT) / c2.cnt
FROM c1,c2