2009-04-10 3 views

ответ

10

Можно ли расширить результаты запроса с помощью таких литералов?

Да.

Select Name 
From Customers 
UNION ALL 
Select 'Jason' 
  • Использование UNION добавить Джейсона, если это уже не в наборе результатов.
  • Используйте UNION ALL, чтобы добавить Джейсона, находится ли он уже в результирующем наборе.
+0

Я использую SQL Server 2005 и работает простой союз, как мой первый пример, но я получите «Неправильный синтаксис». Является ли это явно моим примером? – 2009-04-10 19:39:11

+0

Извините, неверно прочитайте ваш пример. см. править. –

+0

Как бы вы всегда возвращали «Джейсон» в качестве первого элемента в списке Union Union? –

64

Вы можете использовать его как это:

SELECT age, name 
FROM users 
UNION 
SELECT 25 AS age, 'Betty' AS name 

Использование UNION ALL, чтобы дубликаты: если есть 25-летний Бетти среди своих пользователей, второй запрос не будет снова выбрать ее с простым UNION.

17

В SQL Server, вы бы сказали:

Select name from users 
UNION [ALL] 
SELECT 'JASON' 

В Oracle, вы бы сказали

Select name from user 
UNION [ALL] 
Select 'JASON' from DUAL 
+0

Он указал сервер sql: «from dual» только оракул –

+8

+1 для рассмотрения нас, плохие корпоративные ораклосты – Martlark

+0

не должны ли скобки вокруг ВСЕ быть опущены для SQL Server? – Yeonho

Смежные вопросы