Добавить строку в результат запроса с помощью select
Можно ли расширить результаты запроса с помощью таких литералов?
select name from users
union
select name from ('JASON');
или
select age, name from users
union
select age, name from (25,'Betty');
поэтому он возвращает все имена в таблице плюс 'JASON', или (25, 'Betty').
Ответы
Ответ 1
Вы используете его следующим образом:
SELECT age, name
FROM users
UNION
SELECT 25 AS age, 'Betty' AS name
Используйте UNION ALL
, чтобы разрешить дубликаты: если у вас есть 25-летняя Бетти, второй запрос не будет выбирать ее снова с помощью простого UNION
.
Ответ 2
В SQL Server вы бы сказали:
Select name from users
UNION [ALL]
SELECT 'JASON'
В Oracle вы бы сказали
Select name from user
UNION [ALL]
Select 'JASON' from DUAL
Ответ 3
Можно ли расширить результаты запроса с помощью таких литералов?
Да.
Select Name
From Customers
UNION ALL
Select 'Jason'
- Используйте
UNION
, чтобы добавить Jason, если он еще не находится в результирующем наборе.
- Используйте
UNION ALL
, чтобы добавить Джейсона, уже ли он в результирующем наборе.