Pouvez-vous définir “littérale” des tables dans SQL?

Est-il une sous-requête SQL syntaxe qui permet de définir, littéralement, une table temporaire?

Par exemple, quelque chose comme

SELECT
  MAX(count) AS max,
  COUNT(*) AS count
FROM
  (
    (1 AS id, 7 AS count),
    (2, 6),
    (3, 13),
    (4, 12),
    (5, 9)
  ) AS mytable
  INNER JOIN someothertable ON someothertable.id=mytable.id

Cela épargnerait d'avoir à faire deux ou trois requêtes: création de la table temporaire, d'avoir les données en elle, puis de l'utiliser dans une jointure.

Je suis de l'utilisation de MySQL, mais serait intéressé à d'autres bases de données qui pourrait faire quelque chose comme ça.

InformationsquelleAutor thomasrutter | 2009-06-12