当我们进行这样的查询时
SELECT COUNT(*)
FROM A, B, C
WHERE A.type = B.type
AND B.cost = C.cost
Run Code Online (Sandbox Code Playgroud)
关于结果表我们能说些什么?结果表的大小是多少?如果A有5行,B有8行,C有7行
编辑:我可以得到一些回应而不是记下来吗?我是SQL新手,需要帮助.
EDIT2:我想要做什么 -了解WHERE和AND子句如何工作以及为什么结果表有8行
你是如何解决这个问题的 - 我正在阅读我的教科书并在其中提出问题
我试图解决它 -我试过Google并阅读各种帖子,但大多数只是显示如何做而不是解释什么实际上开心
计数将是常用值的数量.例如,考虑这个小例子
DECLARE @A Table(Val1 Int)
Insert Into @A Values(1),(2),(3),(4),(5)
DECLARE @B Table(Val2 Int)
Insert Into @B Values(1),(2),(3),(4),(5),(6)
DECLARE @C Table(Val3 Int)
Insert Into @C Values(1),(2),(3),(4),(5),(6),(7)
SELECT COUNT(*)
FROM @A a, @B b, @C c
WHERE a.Val1 = b.Val2
AND b.Val2 = c.Val3
Run Code Online (Sandbox Code Playgroud)
结果是5.因为a.Val1 = b.Val2有5个共同元素即1,2 3,4,5.现在b.Val2 = c.Val3有6个共同元素即1,2,3,4,5,6.
然后这两个结果集将相互作用并将尝试获得交叉值,即常见值,即1,2,3,4,5.因此计数为5
| 归档时间: |
|
| 查看次数: |
21669 次 |
| 最近记录: |