我对sql有一个普遍的疑问.什么是"Top 1 1"会做什么?以下查询的含义是什么?
select top 1 1 from Worker W where not exists (select 1 from Manager M where M.Id = W.Id)
Run Code Online (Sandbox Code Playgroud)
在sql server查询中选择"TOP 1 1"和"SELECT 1"之间的差异是什么?
M.A*_*Ali 27
SELECT TOP 1 意味着选择结果集中的第一条记录
SELECT 1 意味着返回1作为结果集
SELECT TOP 1 1 FROM [SomeTable] WHERE <SomeCondition>表示如果条件为真并且从select返回任何行,则仅返回顶1行并且仅返回1该行的整数(不返回整数1的数据).
RPh*_*der 13
在下文中,第一个"1",它是"TOP 1"的一部分,意味着在获得单个结果后停止.第二个"1"只是因为作者真的不在乎结果是什么.
SELECT TOP 1 1 FROM WORKER
Run Code Online (Sandbox Code Playgroud)
与...基本相同
SELECT TOP 1 * FROM WORKER
Run Code Online (Sandbox Code Playgroud)
唯一的问题是它在查询的"EXISTS"部分是否比单纯的更有效
SELECT 1 FROM Manager...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35093 次 |
| 最近记录: |