One last SQL syntax post for the evening...
We've all heard about SQL Server 2008 row constructors. They allow syntax like this to work:
CREATE TABLE name_table (name varchar(20), age int);
go
INSERT INTO name_table VALUES ('Bob', 54), ('Mary', 30), ('Sam', 15), ('Buddy', 9);
go
But how about using them as a table source:
SELECT n.name, n.age, tab.species
FROM name_table n
JOIN
(
VALUES ('Bob', 'person'), ('Mary', 'person'), ('Sam', 'cat'), ('Buddy', 'cat')
) tab (name, species)
ON n.name = tab.name;
You specify a table alias and name the columns, and its just another (synthesized on the fly) table.