Database: voter_1
Schema: CREATE TABLE "AREA_CODE_STATE" ( "area_code" INTEGER,  "state" varchar(2) PRIMARY KEY ("state"), ); CREATE TABLE "CONTESTANTS" ( "contestant_number" INTEGER,  "contestant_name" varchar(50) PRIMARY KEY ("contestant_number"), ); CREATE TABLE "VOTES" ( "vote_id" INTEGER,  "phone_number" INTEGER,  "state" varchar(2),  "contestant_number" INTEGER,  "created" timestamp PRIMARY KEY ("vote_id"), FOREIGN KEY ("state") REFERENCES "AREA_CODE_STATE"("state"), FOREIGN KEY ("contestant_number") REFERENCES "CONTESTANTS"("contestant_number") );

Question (easy): How many states are there?
SQL: SELECT count(*) FROM area_code_state

Question (medium): List the contestant numbers and names, ordered by contestant name descending.
SQL: SELECT contestant_number ,  contestant_name FROM contestants ORDER BY contestant_name DESC

Question (medium): List the vote ids, phone numbers and states of all votes.
SQL: SELECT vote_id ,  phone_number ,  state FROM votes

Question (medium): What are the maximum and minimum values of area codes?
SQL: SELECT max(area_code) ,  min(area_code) FROM area_code_state

Question (easy): What is last date created of votes from the state 'CA'?
SQL: SELECT max(created) FROM votes WHERE state  =  'CA'

Question (easy): What are the names of the contestants whose names are not 'Jessie Alloway'
SQL: SELECT contestant_name FROM contestants WHERE contestant_name != 'Jessie Alloway'

Question (medium): What are the distinct states and create time of all votes?
SQL: SELECT DISTINCT state ,  created FROM votes

Question (medium): What are the contestant numbers and names of the contestants who had at least two votes?
SQL: SELECT T1.contestant_number , T1.contestant_name FROM contestants AS T1 JOIN votes AS T2 ON T1.contestant_number  =  T2.contestant_number GROUP BY T1.contestant_number HAVING count(*)  >=  2

Question (extra): Of all the contestants who got voted, what is the contestant number and name of the contestant who got least votes?
SQL: SELECT T1.contestant_number , T1.contestant_name FROM contestants AS T1 JOIN votes AS T2 ON T1.contestant_number  =  T2.contestant_number GROUP BY T1.contestant_number ORDER BY count(*) ASC LIMIT 1

Question (medium): What are the number of votes from state 'NY' or 'CA'?
SQL: SELECT count(*) FROM votes WHERE state  =  'NY' OR state  =  'CA'

Question (extra): How many contestants did not get voted?
SQL: SELECT count(*) FROM contestants WHERE contestant_number NOT IN ( SELECT contestant_number FROM votes )

Question (extra): What is the area code in which the most voters voted?
SQL: SELECT T1.area_code FROM area_code_state AS T1 JOIN votes AS T2 ON T1.state  =  T2.state GROUP BY T1.area_code ORDER BY count(*) DESC LIMIT 1

Question (medium): What are the create dates, states, and phone numbers of the votes that were for the contestant named 'Tabatha Gehling'?
SQL: SELECT T2.created ,  T2.state ,  T2.phone_number FROM contestants AS T1 JOIN votes AS T2 ON T1.contestant_number  =  T2.contestant_number WHERE T1.contestant_name  =  'Tabatha Gehling'

Question (extra): List the area codes in which voters voted both for the contestant 'Tabatha Gehling' and the contestant 'Kelly Clauss'.
SQL: SELECT T3.area_code FROM contestants AS T1 JOIN votes AS T2 ON T1.contestant_number  =  T2.contestant_number JOIN area_code_state AS T3 ON T2.state  =  T3.state WHERE T1.contestant_name  =  'Tabatha Gehling' INTERSECT SELECT T3.area_code FROM contestants AS T1 JOIN votes AS T2 ON T1.contestant_number  =  T2.contestant_number JOIN area_code_state AS T3 ON T2.state  =  T3.state WHERE T1.contestant_name  =  'Kelly Clauss'

Question (medium): Return the names of the contestants whose names contain the substring 'Al' .
SQL: select contestant_name from contestants where contestant_name like "%al%"