add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE t (id int IDENTITY PRIMARY KEY);
SET STATISTICS XML ON;
SELECT *,
CASE WHEN EXISTS (SELECT 1
FROM t t2
WHERE t2.id = t1.id + 1) THEN 1 END
FROM t t1;
id (No column name)
Microsoft SQL Server 2005 XML Showplan
<ShowPlanXML xmlns="http://schemas.microsoft.com/sqlserver/2004/07/showplan" Version="1.564" Build="16.0.1000.6"><BatchSequence><Batch><Statements><StmtSimple StatementText="SELECT *,&#xa; CASE WHEN EXISTS (SELECT 1&#xa; FROM t t2&#xa; WHERE t2.id = t1.id + 1) THEN 1 END&#xa;FROM t t1" StatementId="1" StatementCompId="1" StatementType="SELECT" StatementSqlHandle="0x09006317B5745DC7C91CF551005792D651BF0000000000000000000000000000000000000000000000000000" DatabaseContextSettingsId="1" ParentObjectId="0" StatementParameterizationType="0" RetrievedFromCache="true" StatementSubTreeCost="0.00657048" StatementEstRows="1" SecurityPolicyApplied="false" StatementOptmLevel="FULL" QueryHash="0x69CBFB793D8F8A03" QueryPlanHash="0x76FD3607A33554E9" StatementOptmEarlyAbortReason="GoodEnoughPlanFound" CardinalityEstimationModelVersion="160"><StatementSetOptions QUOTED_IDENTIFIER="true" ARITHABORT="true" CONCAT_NULL_YIELDS_NULL="true" ANSI_NULLS="true" ANSI_PADDING="true" ANSI_WARNINGS="true" NUMERIC_ROUNDABORT="false"></StatementSetOptions><QueryPlan DegreeOfParallelism="0" NonParallelPlanReason="NoParallelPlansInDesktopOrExpressEdition" CachedPlanSize="24" CompileTime="15" CompileCPU="0" CompileMemory="184"><MemoryGrantInfo SerialRequiredMemory="0" SerialDesiredMemory="0" GrantedMemory="0" MaxUsedMemory="0"></MemoryGrantInfo><OptimizerHardwareDependentProperties EstimatedAvailableMemoryGrant="1258238" EstimatedPagesCached="78639" EstimatedAvailableDegreeOfParallelism="1" MaxCompileMemory="2218408"></OptimizerHardwareDependentProperties><TraceFlags IsCompileTime="1"><TraceFlag Value="460" Scope="Global"></TraceFlag><TraceFlag Value="8017" Scope="Global"></TraceFlag></TraceFlags><TraceFlags IsCompileTime="0"><TraceFlag Value="460" Scope="Global"></TraceFlag><TraceFlag Value="8017" Scope="Global"></TraceFlag></TraceFlags><QueryTimeStats ElapsedTime="0" CpuTime="0"></QueryTimeStats><RelOp NodeId="0" PhysicalOp="Compute Scalar" LogicalOp="Compute Scalar" EstimateRows="1" EstimateIO="0" EstimateCPU="1e-07" AvgRowSize="15" EstimatedTotalSubtreeCost="0.00657048" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row"><OutputList><ColumnReference Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Alias="[t1]" Column="id"></ColumnReference><ColumnReference Column="Expr1003"></ColumnReference></OutputList><ComputeScalar><DefinedValues><DefinedValue><ColumnReference Column="Expr1003"></ColumnReference><ScalarOperator ScalarString="CASE WHEN [Expr1004] THEN (1) ELSE NULL END"><IF><Condition><ScalarOperator><Identifier><ColumnReference Column="Expr1004"></ColumnReference></Identifier></ScalarOperator></Condition><Then><ScalarOperator><Const ConstValue="(1)"></Const></ScalarOperator></Then><Else><ScalarOperator><Const ConstValue="NULL"></Const></ScalarOperator></Else></IF></ScalarOperator></DefinedValue></DefinedValues><RelOp NodeId="1" PhysicalOp="Nested Loops" LogicalOp="Left Semi Join" EstimateRows="1" EstimateIO="0" EstimateCPU="4.18e-06" AvgRowSize="12" EstimatedTotalSubtreeCost="0.00657038" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row"><OutputList><ColumnReference Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Alias="[t1]" Column="id"></ColumnReference><ColumnReference Column="Expr1004"></ColumnReference></OutputList><RunTimeInformation><RunTimeCountersPerThread Thread="0" ActualRows="0" Batches="0" ActualElapsedms="0" ActualCPUms="0" ActualEndOfScans="1" ActualExecutions="1" ActualExecutionMode="Row"></RunTimeCountersPerThread></RunTimeInformation><NestedLoops Optimized="0"><DefinedValues><DefinedValue><ColumnReference Column="Expr1004"></ColumnReference></DefinedValue></DefinedValues><OuterReferences><ColumnReference Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Alias="[t1]" Column="id"></ColumnReference></OuterReferences><ProbeColumn><ColumnReference Column="Expr1004"></ColumnReference></ProbeColumn><RelOp NodeId="2" PhysicalOp="Clustered Index Scan" LogicalOp="Clustered Index Scan" EstimateRows="1" EstimatedRowsRead="1" EstimateIO="0.003125" EstimateCPU="0.0001581" AvgRowSize="11" EstimatedTotalSubtreeCost="0.0032831" TableCardinality="0" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row"><OutputList><ColumnReference Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Alias="[t1]" Column="id"></ColumnReference></OutputList><RunTimeInformation><RunTimeCountersPerThread Thread="0" ActualRows="0" Batches="0" ActualElapsedms="0" ActualCPUms="0" ActualScans="1" ActualLogicalReads="0" ActualPhysicalReads="0" ActualReadAheads="0" ActualLobLogicalReads="0" ActualLobPhysicalReads="0" ActualLobReadAheads="0" ActualEndOfScans="1" ActualExecutions="1" ActualExecutionMode="Row"></RunTimeCountersPerThread></RunTimeInformation><IndexScan Ordered="0" ForcedIndex="0" ForceScan="0" NoExpandHint="0" Storage="RowStore"><DefinedValues><DefinedValue><ColumnReference Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Alias="[t1]" Column="id"></ColumnReference></DefinedValue></DefinedValues><Object Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Index="[PK__t__3213E83F1B75AA5E]" Alias="[t1]" IndexKind="Clustered" Storage="RowStore"></Object></IndexScan></RelOp><RelOp NodeId="3" PhysicalOp="Clustered Index Seek" LogicalOp="Clustered Index Seek" EstimateRows="1" EstimatedRowsRead="1" EstimateIO="0.003125" EstimateCPU="0.0001581" AvgRowSize="9" EstimatedTotalSubtreeCost="0.0032831" TableCardinality="0" Parallel="0" EstimateRebinds="0" EstimateRewinds="0" EstimatedExecutionMode="Row"><OutputList></OutputList><RunTimeInformation><RunTimeCountersPerThread Thread="0" ActualRows="0" Batches="0" ActualElapsedms="0" ActualCPUms="0" ActualScans="0" ActualLogicalReads="0" ActualPhysicalReads="0" ActualReadAheads="0" ActualLobLogicalReads="0" ActualLobPhysicalReads="0" ActualLobReadAheads="0" ActualEndOfScans="0" ActualExecutions="0" ActualExecutionMode="Row"></RunTimeCountersPerThread></RunTimeInformation><IndexScan Ordered="1" ScanDirection="FORWARD" ForcedIndex="0" ForceSeek="0" ForceScan="0" NoExpandHint="0" Storage="RowStore"><DefinedValues></DefinedValues><Object Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Index="[PK__t__3213E83F1B75AA5E]" Alias="[t2]" IndexKind="Clustered" Storage="RowStore"></Object><SeekPredicates><SeekPredicateNew><SeekKeys><Prefix ScanType="EQ"><RangeColumns><ColumnReference Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Alias="[t2]" Column="id"></ColumnReference></RangeColumns><RangeExpressions><ScalarOperator ScalarString="[fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[id] as [t1].[id]+(1)"><Arithmetic Operation="ADD"><ScalarOperator><Identifier><ColumnReference Database="[fiddle_9f3d5cefc5cc466392fc566577617b10]" Schema="[dbo]" Table="[t]" Alias="[t1]" Column="id"></ColumnReference></Identifier></ScalarOperator><ScalarOperator><Const ConstValue="(1)"></Const></ScalarOperator></Arithmetic></ScalarOperator></RangeExpressions></Prefix></SeekKeys></SeekPredicateNew></SeekPredicates></IndexScan></RelOp></NestedLoops></RelOp></ComputeScalar></RelOp></QueryPlan></StmtSimple></Statements></Batch></BatchSequence></ShowPlanXML>
SELECT *, CASE WHEN EXISTS (SELECT 1 FROM t t2 WHERE t2.id = t1.id + 1) THEN 1 END FROM t t1
SELECT
SELECT
Cached plan size24 KB
Estimated Operator Cost0 (0%)
Estimated Subtree Cost0.0065705
Degree of Parallelism0
Estimated Number of Rows1
Statement
SELECT *, CASE WHEN EXISTS (SELECT 1 FROM t t2 WHERE t2.id = t1.id + 1) THEN 1 END FROM t t1
Compute Scalar
Cost: 0%
Compute Scalar
Compute new values from existing values in a row.
Physical OperationCompute Scalar
Logical OperationCompute Scalar
Estimated Execution ModeRow
Estimated Operator Cost0.0000001 (0%)
Estimated I/O Cost0
Estimated CPU Cost0.0000001
Estimated Subtree Cost0.0065705
Estimated Number of Executions1
Estimated Number of Rows1
Estimated Row Size15 B
Node ID0
Output List
[fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[t1].id
Expr1003
Nested Loops
(Left Semi Join)
Cost: 0%
Nested Loops
For each row in the top (outer) input, scan the bottom (inner) input, and output matching rows.
Physical OperationNested Loops
Logical OperationLeft Semi Join
Actual Execution ModeRow
Estimated Execution ModeRow
Actual Number of Rows0
Actual Number of Batches0
Estimated Operator Cost0.0000042 (0%)
Estimated I/O Cost0
Estimated CPU Cost0.0000042
Estimated Subtree Cost0.0065704
Estimated Number of Executions1
Number of Executions1
Estimated Number of Rows1
Estimated Row Size12 B
Actual Rebinds0
Actual Rewinds0
Node ID1
Output List
[fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[t1].id
Expr1004
Outer References
[fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[t1].id
Clustered Index Scan (Clustered)
[t].[PK__t__3213E83F1B75AA5E].[t1]
Cost: 50%
Clustered Index Scan (Clustered)
Scanning a clustered index, entirely or only a range.
Physical OperationClustered Index Scan
Logical OperationClustered Index Scan
Actual Execution ModeRow
Estimated Execution ModeRow
StorageRowStore
Actual Number of Rows0
Actual Number of Batches0
Estimated Operator Cost0.0032831 (50%)
Estimated I/O Cost0.003125
Estimated CPU Cost0.0001581
Estimated Subtree Cost0.0032831
Estimated Number of Executions1
Number of Executions1
Estimated Number of Rows to be Read1
Estimated Number of Rows1
Estimated Row Size11 B
Actual Rebinds0
Actual Rewinds0
OrderedFalse
Node ID2
Output List
[fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[t1].id
Object
[fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[PK__t__3213E83F1B75AA5E].[t1]
Clustered Index Seek (Clustered)
[t].[PK__t__3213E83F1B75AA5E].[t2]
Cost: 50%
Clustered Index Seek (Clustered)
Scanning a particular range of rows from a clustered index.
Physical OperationClustered Index Seek
Logical OperationClustered Index Seek
Actual Execution ModeRow
Estimated Execution ModeRow
StorageRowStore
Actual Number of Rows0
Actual Number of Batches0
Estimated Operator Cost0.0032831 (50%)
Estimated I/O Cost0.003125
Estimated CPU Cost0.0001581
Estimated Subtree Cost0.0032831
Estimated Number of Executions1
Estimated Number of Rows to be Read1
Estimated Number of Rows1
Estimated Row Size9 B
Actual Rebinds0
Actual Rewinds0
OrderedTrue
Node ID3
Object
[fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[PK__t__3213E83F1B75AA5E].[t2]
Seek Predicates
Seek Keys[1]: Prefix: [fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].id = Scalar Operator([fiddle_9f3d5cefc5cc466392fc566577617b10].[dbo].[t].[id] as [t1].[id]+(1))