Skip to content

Instantly share code, notes, and snippets.

@aijaz
Last active August 29, 2015 14:10
Show Gist options
  • Save aijaz/433ad195ef5fab282217 to your computer and use it in GitHub Desktop.
Save aijaz/433ad195ef5fab282217 to your computer and use it in GitHub Desktop.
CREATE TABLE movies (
firstName VARCHAR(32) NOT NULL
, lastName VARCHAR(32) NOT NULL
, year INT NOT NULL
, title VARCHAR(256) NOT NULL
);
CREATE TABLE alphabet (
letter char NOT NULL
);
insert into alphabet values('a');
insert into alphabet values('b');
insert into alphabet values('c');
insert into alphabet values('d');
insert into alphabet values('e');
insert into alphabet values('f');
insert into alphabet values('g');
insert into alphabet values('h');
insert into alphabet values('i');
insert into alphabet values('j');
insert into alphabet values('k');
insert into alphabet values('l');
insert into alphabet values('m');
insert into alphabet values('n');
insert into alphabet values('o');
insert into alphabet values('p');
insert into alphabet values('q');
insert into alphabet values('r');
insert into alphabet values('s');
insert into alphabet values('t');
insert into alphabet values('u');
insert into alphabet values('v');
insert into alphabet values('w');
insert into alphabet values('x');
insert into alphabet values('y');
insert into alphabet values('z');
-- All Tom Hanks movies to date
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2014, 'Toy Story That Time Forgot (TV Short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2013, 'Saving Mr. Banks');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2013, 'Toy Story of Terror (TV Short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2013, 'Captain Phillips');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2012, 'Toy Story Toons: Partysaurus Rex (Short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2012, 'Cloud Atlas');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2012, 'Electric City (TV Series short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2011, 'Extremely Loud & Incredibly Close');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2011, 'Toy Story Toons: Small Fry (Short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2011, 'Larry Crowne');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2011, '30 Rock (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2011, 'Toy Story Toons: Hawaiian Vacation (Short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2010, 'Toy Story 3');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2010, 'The Pacific (TV Mini-Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2009, 'Late Show with David Letterman (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2009, 'Beyond All Boundaries (Short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2009, 'Angels & Demons');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2008, 'The Great Buck Howard');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2007, 'Charlie Wilsons War');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2006, 'The Da Vinci Code');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2006, 'Cars');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2005, 'Magnificent Desolation: Walking on the Moon 3D (Documentary short)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2004, 'The Polar Express');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2004, 'Elvis Has Left the Building');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2004, 'The Terminal');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2004, 'The Ladykillers');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2003, 'Freedom: A History of Us (TV Series documentary)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2002, 'Catch Me If You Can');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2002, 'Road to Perdition');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2001, 'Band of Brothers (TV Mini-Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2001, 'Scene by Scene (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 2000, 'Cast Away');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1999, 'The Green Mile');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1999, 'Toy Story 2 (Video Game)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1999, 'Toy Story 2');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1998, 'Youve Got Mail');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1998, 'Saving Private Ryan');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1998, 'From the Earth to the Moon (TV Mini-Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1996, 'That Thing You Do!');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1995, 'Toy Story');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1995, 'Apollo 13');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1994, 'Vault of Horror I (TV Movie)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1994, 'Forrest Gump');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1993, 'Philadelphia');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1993, 'Fallen Angels (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1993, 'Sleepless in Seattle');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1992, 'A League of Their Own');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1992, 'Tales from the Crypt (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1992, 'Radio Flyer');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1990, 'The Bonfire of the Vanities');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1990, 'Joe Versus the Volcano');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1989, 'Turner & Hooch');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1989, 'The Burbs');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1988, 'Punchline');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1988, 'Big');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1987, 'Dragnet');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1986, 'Every Time We Say Goodbye');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1986, 'Nothing in Common');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1986, 'The Money Pit');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1985, 'Volunteers');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1985, 'The Man with One Red Shoe');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1984, 'Bachelor Party');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1984, 'Splash');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1983, 'Family Ties (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1982, 'Mazes and Monsters (TV Movie)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1982, 'Happy Days (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1982, 'Taxi (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1980, 'Bosom Buddies (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1980, 'The Love Boat (TV Series)');
insert into movies (firstName, lastName, year, title) values('Tom', 'Hanks', 1980, 'He Knows Youre Alone');
-- use what single letter isn't in the title of any Tom Hanks movie
SELECT (SELECT SUBSTR(firstName, 1, 1)
|| LOWER(SUBSTR(lastName, 1, length(lastName) - 2))
FROM movies limit 1)
|| a.letter AS response FROM alphabet a
WHERE NOT EXISTS ( SELECT * FROM movies m WHERE m.title ~* a.letter) ;
response
----------
Thanq
(1 row)
tempdb=#
@aijaz
Copy link
Author

aijaz commented Dec 3, 2014

Data sourced from IMDB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment