Semicolons do not always work in compound SELECT statements.
Compare these two different versions of a trivial compound SELECT statement.
The code
DECLARE @Test varchar(35);
SELECT @Test=
(SELECT
(SELECT
(SELECT 'Semicolons do not always work fine.';);););
SELECT @Test Test;
returns
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ';'.
However, the code
DECLARE @Test varchar(35)
SELECT @Test=
(SELECT
(SELECT
(SELECT 'Semicolons do not always work fine.')))
SELECT @Test Test
returns
Test
-----------------------------------
Semicolons do not always work fine.
(1 row(s) affected)