Nói chung, nó không tạo ra sự khác biệt về ngữ nghĩa.
Có một trường hợp cạnh mà nó có thể làm được. Nếu (không được dùng nữa) GROUP BY ALL
cấu trúc được thêm vào truy vấn như minh họa bên dưới.
DECLARE @A TABLE(A_ID INT, DURATION DECIMAL(3,2) )
INSERT INTO @A VALUES(1,2.00)
DECLARE @B TABLE(A_ID INT)
INSERT INTO @B VALUES(1)
/*Returns one row*/
SELECT *
FROM @A A
INNER JOIN @B B ON A.A_ID = B.A_ID
WHERE A.DURATION = 3.00
GROUP BY ALL A.A_ID, A.DURATION, B.A_ID
/*Returns zero rows*/
SELECT *
FROM @A A
INNER JOIN @B B ON A.A_ID = B.A_ID AND A.DURATION = 3.00
GROUP BY ALL A.A_ID, A.DURATION, B.A_ID