web-dev-qa-db-fra.com

Ajouter une ligne au résultat de la requête en utilisant select

Est-il possible d'étendre les résultats d'une requête avec des littéraux comme celui-ci?

select name from users
union
select name from ('JASON');

ou

select age, name from users
union
select age, name from (25,'Betty');

il renvoie donc tous les noms de la table plus "JASON" ou (25, "Betty").

63
jdsushi

Vous l'utilisez comme ceci:

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

Utilisation UNION ALL pour autoriser les doublons: s'il y a une Betty âgée de 25 ans parmi vos utilisateurs, la deuxième requête ne la sélectionnera pas à nouveau avec la simple UNION.

80
Quassnoi

Dans SQL Server, vous diriez:

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

Dans Oracle, vous diriez

Select name from user
UNION [ALL]
Select 'JASON' from DUAL
18
Mark Sherretta

est-il possible d'étendre les résultats d'une requête avec des littéraux comme celui-ci?

Oui.

Select Name
From Customers
UNION ALL
Select 'Jason'
  • Utilisez UNION pour ajouter Jason si ce n’est pas déjà dans le jeu de résultats.
  • Utilisation UNION ALL pour ajouter Jason s'il est déjà dans le jeu de résultats ou non.
14
Amy B