MikeXydas/qr2t_benchmark huggingface dataset:
Table: member
Question: Find the number of members living in each address.
SQL query:
SELECT COUNT(*) AS "count of member", address 
 FROM member 
 GROUP BY address
Result:
,Address,count of member
0,Bridgeport,1

Answer: There is one member in Bridgeport.
Table: acceptance, submission
Question: Show the authors of submissions and the acceptance results of their submissions.
SQL query:
SELECT T2.Author AS "submission Author", T1.Result AS "acceptance Result" 
 FROM acceptance AS T1 JOIN submission AS T2 ON T1.Submission_ID = T2.Submission_ID
Result:
,acceptance Result,submission Author
0,Accepted,Sammy Green

Answer: The paper of Sammy Green was accepted
Table: Projects, Documents
Question: What is the project detail for the project with document "King Book"?
SQL query:
SELECT T1.project_details AS "Projects project_details", T2.document_name AS "Documents document_name" 
 FROM Projects AS T1 JOIN Documents AS T2 ON T1.project_id = T2.project_id 
 WHERE T2.document_name = 'King Book'
Result:
,Documents document_name,Projects project_details
0,King Book,Human Resource project

Answer: The document named "King Book" has the project details "Human Resource project".
Table: Rating, Movie
Question: For each director, return the director's name together with the title of the movie they directed that received the highest rating among all of their movies, and the value of that rating. Ignore movies whose director is NULL.
SQL query:
SELECT T2.title AS "Movie title", T1.stars AS "Rating stars", T2.director AS "Movie director", MAX(T1.stars) AS "maximum stars", director 
 FROM Rating AS T1 JOIN Movie AS T2 ON T1.mID = T2.mID 
 WHERE director <> 'null' 
 GROUP BY director
Result:
,director,Movie title,Rating stars,maximum stars,Movie director
0,James Cameron,Avatar,5,5,James Cameron

Answer: The movie Avatar was directed by James Cameron, with rating of 5 out of the 5 maximum stars
Table: railway
Question: List the wheels and locations of the railways.
SQL query:
SELECT Wheels, LOCATION 
 FROM railway
Result:
,Wheels,Location
0,4-4-0,York

Answer: The wheel 4-4-0 are located in York.
Table: Suppliers, supplier_addresses, addresses
Question: List the name and phone number of all suppliers in the alphabetical order of their addresses.
SQL query:
SELECT T1.supplier_name AS "Suppliers supplier_name", T1.supplier_phone AS "Suppliers supplier_phone", T3.address_details AS "addresses address_details" 
 FROM Suppliers AS T1 JOIN supplier_addresses AS T2 ON T1.supplier_id = T2.supplier_id JOIN addresses AS T3 ON T2.address_id = T3.address_id ORDER BY T3.address_details
Result:
,Suppliers supplier_name,Suppliers supplier_phone,addresses address_details
0,AB Store,1-483-283-4742,"0258 Kessler Mountains Suite 688
Mooreside, ME 41586-5022"

Answer: Supplier "AB Store" is located in 0258 Kessler Mountains Suite 688 Mooreside, ME 41586-5022. Their phone no. is 1-483-283-4742.
Table: airports
Question: Find the name, city, country, and altitude (or elevation) of the airports in the city of New York.
SQL query:
SELECT name, city, country, elevation 
 FROM airports 
 WHERE city = 'New York'
Result:
,city,name,country,elevation
0,New York,La Guardia Airport,United States,21

Answer: The airport La Guardia Airport is in New York in the United States and has an elevation of 21.
Table: products
Question: Return the average price for each product type.
SQL query:
SELECT product_type_code, AVG(product_price) AS "average product_price" 
 FROM products 
 GROUP BY product_type_code
Result:
,product_type_code,average product_price
0,Clothes,715.5366666666666

Answer: The average price of clothes is 715.53
Table: STUDENT, VOTING_RECORD
Question: What is the average age of students who have city code "NYC" and have secretary votes for the spring election cycle?
SQL query:
SELECT AVG(T1.Age) AS "average Age", T1.city_code AS "STUDENT city_code", T2.Election_Cycle AS "VOTING_RECORD Election_Cycle" 
 FROM STUDENT AS T1 JOIN VOTING_RECORD AS T2 ON T1.StuID = SECRETARY_Vote 
 WHERE T1.city_code = 'NYC' AND T2.Election_Cycle = 'Spring'
Result:
,average Age,STUDENT city_code,VOTING_RECORD Election_Cycle
0,22.0,NYC,Spring

Answer: The average age is 22 for the students in NYC city and their election cycle is Spring.
Table: Apartment_Buildings, Apartments
Question: Show the total number of rooms of the apartments in the building with short name "Columbus Square".
SQL query:
SELECT SUM(T2.room_count) AS "sum of room_count", T1.building_short_name AS "Apartment_Buildings building_short_name" 
 FROM Apartment_Buildings AS T1 JOIN Apartments AS T2 ON T1.building_id = T2.building_id 
 WHERE T1.building_short_name = 'Columbus Square'
Result:
,sum of room_count,Apartment_Buildings building_short_name
0,29,Columbus Square

Answer: There are 29 rooms in the building with short name Columbus Square.
Table: Flight
Question: What are the departure and arrival dates of all flights from LA to Honolulu?
SQL query:
SELECT departure_date, arrival_date, origin, destination 
 FROM Flight 
 WHERE origin = 'Los Angeles' AND destination = 'Honolulu'
Result:
,origin,destination,arrival_date,departure_date
0,Los Angeles,Honolulu,04/12/2005 11:15,04/12/2005 09:15

Answer: The flight from Los Angeles to Honolulu has the departure date of 04/12/2005 09:15 and the arrival date of 04/12/2005 11:15.
Table: STUDENT
Question: What are the maximum and minimum age of students with major 600?
SQL query:
SELECT MAX(Age) AS "maximum Age", MIN(Age) AS "minimum Age", Major 
 FROM STUDENT 
 WHERE Major = 600
Result:
,Major,maximum Age,minimum Age
0,600,27,16

Answer: The maximum age of students with a major of 600 is 27, while the minimum age is 16
Table: station
Question: How many stations are in Mountain View?
SQL query:
SELECT COUNT(*) AS "count of station", city 
 FROM station 
 WHERE city = 'Mountain View'
Result:
,city,count of station
0,Mountain View,7

Answer: There are 7 stations in Mountain View.
Table: dependent
Question: how many female dependents are there?
SQL query:
SELECT COUNT(*) AS "count of dependent", sex 
 FROM dependent 
 WHERE sex = 'F'
Result:
,Sex,count of dependent
0,F,4

Answer: The number of female dependents is 4
Table: journalist
Question: How many journalists are there?
SQL query:
SELECT COUNT(*) AS "count of journalist" 
 FROM journalist
Result:
,count of journalist
0,11

Answer: There are 11 journalists
Table: company
Question: What are the companies and main industries of all companies that are not headquartered in the United States?
SQL query:
SELECT company, main_industry, headquarters 
 FROM company 
 WHERE headquarters <> 'USA'
Result:
,Company,Headquarters,Main_Industry
0,Royal Dutch Shell,Netherlands,Oil and gas

Answer: The Royal Dutch Shell has its headquarters in the Netherlands and specialises in the oil and gas industry
Table: storm
Question: What are the names, dates active, and number of deaths for storms that had 1 or more death?
SQL query:
SELECT name, dates_active, number_deaths 
 FROM storm 
 WHERE number_deaths >= 1
Result:
,Name,Dates_active,Number_Deaths
0,Two,August3–August10,7

Answer: The storm named Two which was active from August 3 - August 10, caused 7 deaths.
Table: accounts, savings
Question: Find the total savings balance of all accounts except the account with name ‘Brown’.
SQL query:
SELECT SUM(T2.balance) AS "sum of balance", T1.name AS "accounts name" 
 FROM accounts AS T1 JOIN savings AS T2 ON T1.custid = T2.custid 
 WHERE T1.name <> 'Brown'
Result:
,accounts name,sum of balance
0,Wang,1000310299.0

Answer: The accounts under the name "Wang" have a total balance of 1000310299
Table: debate_people, debate, people
Question: Show the names of people, and dates and venues of debates they are on the negative side, ordered in ascending alphabetical order of name.
SQL query:
SELECT T3.Name AS "people Name", T2.Date AS "debate Date", T2.Venue AS "debate Venue" 
 FROM debate_people AS T1 JOIN debate AS T2 ON T1.Debate_ID = T2.Debate_ID JOIN people AS T3 ON T1.Negative = T3.People_ID ORDER BY T3.Name ASC
Result:
,debate Date,people Name,debate Venue
0,"October 21, 2011",Charles Van Wyck,"Manama , Bahrain"

Answer: The debate in October 21, 2011 had a person named Charles Van Wyck and the venue was in Manama, Bahrain.
Table: Part_Faults, Skills_Required_To_Fix, Skills
Question: For all the faults of different parts, what are all the decriptions of the skills required to fix them? List the name of the faults and the skill description.
SQL query:
SELECT T1.fault_short_name AS "Part_Faults fault_short_name", T3.skill_description AS "Skills skill_description" 
 FROM Part_Faults AS T1 JOIN Skills_Required_To_Fix AS T2 ON T1.part_fault_id = T2.part_fault_id JOIN Skills AS T3 ON T2.skill_id = T3.skill_id
Result:
,Skills skill_description,Part_Faults fault_short_name
0,Mechanical,TW

Answer: A mechanical skill is needed in order to fix a TW part fault
Table: editor
Question: What are the different ages of editors? Show each age along with the number of editors of that age.
SQL query:
SELECT Age, COUNT(*) AS "count of editor" 
 FROM editor 
 GROUP BY Age
Result:
,Age,count of editor
0,20.0,1.0

Answer: There is 1 editor at the age of 20.
Table: enzyme
Question: What is the total count of enzymes?
SQL query:
SELECT COUNT(*) AS "count of enzyme" 
 FROM enzyme
Result:
,count of enzyme
0,8

Answer: The total number of enzymes is 8
Table: STUDENT
Question: Report the distinct advisors who have more than 2 students.
SQL query:
SELECT Advisor 
 FROM STUDENT 
 GROUP BY Advisor 
 HAVING COUNT(*) > 2
Result:
,Advisor
0,1121

Answer: The advisor 1121 has more than 2 students.
Table: EMPLOYEE
Question: Find the birth dates corresponding to employees who live in the city of Edmonton.
SQL query:
SELECT BirthDate, City 
 FROM EMPLOYEE 
 WHERE City = 'Edmonton'
Result:
,City,BirthDate
0,Edmonton,1962-02-18 00:00:00

Answer: The employee who lives in the city of Edmonton has a birth date of 1962-02-18 00:00:00
Table: student
Question: How many hours do the students spend studying in each department?
SQL query:
SELECT SUM(stu_hrs) AS "sum of stu_hrs", dept_code 
 FROM student 
 GROUP BY dept_code
Result:
,DEPT_CODE,sum of stu_hrs
0,ACCT,165

Answer: Students spent a total of 165 hours studying in the dept. with code "ACCT"
Table: Staff
Question: List the first name middle name and last name of all staff.
SQL query:
SELECT first_name, middle_name, last_name 
 FROM Staff
Result:
,last_name,first_name,middle_name
0,Sawayn,Janessa,Amara

Answer: The first name is Janessa the middle name is Amara and last name is Sawayn
Table: Student
Question: Show first name, last name, age for all female students. Their sex is F.
SQL query:
SELECT Fname, Lname, Age, Sex 
 FROM Student 
 WHERE Sex = 'F'
Result:
,Age,Sex,Fname,LName
0,18,F,Linda,Smith

Answer: Linda Smith is a 18 years old female.
Table: COURSES
Question: What are the descriptions of the courses with name "database"?
SQL query:
SELECT course_description, course_name 
 FROM COURSES 
 WHERE course_name = 'database'
Result:
,course_name,course_description
0,database,database

Answer: The description of the course database is database.
Table: Students
Question: Find the number of students who have the word "son" in their personal names.
SQL query:
SELECT COUNT(*) AS "count of Students", personal_name 
 FROM Students 
 WHERE personal_name LIKE '%son%'
Result:
,personal_name,count of Students
0,Wilson,2

Answer: There are 2 students with the word "son" in their personal names.
Table: CLASS, employee, course, professor, department
Question: Find the first names and offices of all instructors who have taught some course and the course description and the department name.
SQL query:
SELECT T2.emp_fname AS "employee emp_fname", T4.prof_office AS "professor prof_office", T3.crs_description AS "course crs_description", T5.dept_name AS "department dept_name" 
 FROM CLASS AS T1 JOIN employee AS T2 ON T1.prof_num = T2.emp_num JOIN course AS T3 ON T1.crs_code = T3.crs_code JOIN professor AS T4 ON T2.emp_num = T4.emp_num JOIN department AS T5 ON T4.dept_code = T5.dept_code
Result:
,employee emp_fname,department dept_name,professor prof_office,course crs_description
0,Arnelle,Accounting,KLR 229D,Accounting I

Answer: Arnelle is from the Accounting department and has taught the course KLR 229D with course description Accounting I
Table: accounts, checking, savings
Question: Find the name, checking balance and savings balance of all accounts in the bank sorted by their total checking and savings balance in descending order.
SQL query:
SELECT T2.balance AS "checking balance", T3.balance AS "savings balance", T1.name AS "accounts name" 
 FROM accounts AS T1 JOIN checking AS T2 ON T1.custid = T2.custid JOIN savings AS T3 ON T1.custid = T3.custid ORDER BY T2.balance + T3.balance DESC
Result:
,accounts name,savings balance,checking balance
0,Wang,999999999.0,2000.0

Answer: The account with name Wang has a savings balance of 999999999 and a checking balance of 2000.
Table: Addresses
Question: How many employees live in Georgia?
SQL query:
SELECT COUNT(*) AS "count of Addresses", state_province_county 
 FROM Addresses 
 WHERE state_province_county = 'Georgia'
Result:
,count of Addresses,state_province_county
0,2,Georgia

Answer: There are 2 addresses in the county of Georgia.
Table: song
Question: Find the names of all English songs.
SQL query:
SELECT song_name, languages 
 FROM song 
 WHERE languages = 'english'
Result:
,languages,song_name
0,english,My love

Answer: The song My love is in English.
Table: manufacturers
Question: Find the name of companies whose revenue is between 100 and 150.
SQL query:
SELECT name, revenue 
 FROM manufacturers 
 WHERE revenue BETWEEN 100 AND 150
Result:
,Name,Revenue
0,Sony,120.0

Answer: Sony has a revenue of 120
Table: campuses
Question: What is the total number of campuses?
SQL query:
SELECT COUNT(*) AS "count of campuses" 
 FROM campuses
Result:
,count of campuses
0,23

Answer: There are 23 campuses.
Table: Course_Authors_and_Tutors
Question: Return the addresses of the course authors or tutors whose personal name is "Cathrine".
SQL query:
SELECT address_line_1, personal_name 
 FROM Course_Authors_and_Tutors 
 WHERE personal_name = 'Cathrine'
Result:
,personal_name,address_line_1
0,Cathrine,"756 Monahan Mews
Spinkashire, NJ 64230-5098"

Answer: The tutor Cathrine live in 756 Monahan Mews Spinkashire, NJ 64230-5098.
Table: Video_games
Question: How many video games have type Massively multiplayer online game?
SQL query:
SELECT COUNT(*) AS "count of Video_games", gtype 
 FROM Video_games 
 WHERE gtype = 'Massively multiplayer online game'
Result:
,GType,count of Video_games
0,Massively multiplayer online game,1

Answer: There is 1 vide fame of type Massively multiplayer online game.
Table: club, member_of_club, student
Question: Who is the "CTO" of club "Hopkins Student Enterprises"? Show the first name and last name.
SQL query:
SELECT t3.fname AS "student fname", t3.lname AS "student lname", t2.position AS "member_of_club position", t1.clubname AS "club clubname" 
 FROM club AS t1 JOIN member_of_club AS t2 ON t1.clubid = t2.clubid JOIN student AS t3 ON t2.stuid = t3.stuid 
 WHERE t1.clubname = 'Hopkins Student Enterprises' AND t2.position = 'CTO'
Result:
,club clubname,student fname,student lname,member_of_club position
0,Hopkins Student Enterprises,Jandy,Nelson,CTO

Answer: Jandy Nelson is the CTO of Hopkins Student Enterprises
Table: body_builder, people
Question: List the weight of the body builders who have snatch score higher than 140 or have the height greater than 200.
SQL query:
SELECT T2.weight AS "people weight", T2.height AS "people height", T1.snatch AS "body_builder snatch" 
 FROM body_builder AS T1 JOIN people AS T2 ON T1.people_id = T2.people_id 
 WHERE T1.snatch > 140 OR T2.height > 200
Result:
,people height,people weight,body_builder snatch
0,182.0,80.0,142.5

Answer: The bodybuilder with a height of 182 and weight equal to 80 has a snatch score of 142.5
Table: ROLES
Question: Show the description for role name "Proof Reader".
SQL query:
SELECT role_description, role_name 
 FROM ROLES 
 WHERE role_name = 'Proof Reader'
Result:
,Role_Name,Role_Description
0,Proof Reader,Ut sed quae eaque mollitia qui hic. Natus ea expedita et odio illum fugiat qui natus. Consequatur velit ut dolorem cum ullam esse deserunt dignissimos. Enim non non rem officiis quis.

Answer: The description for role name Proof Reader is Ut sed quae eaque mollitia qui hic. Natus ea expedita et odio illum fugiat qui natus. Consequatur velit ut dolorem cum ullam esse deserunt dignissimos. Enim non non rem officiis quis.
Table: assignedto, scientists
Question: Find the name of scientists who are assigned to some project.
SQL query:
SELECT T2.name AS "scientists name" 
 FROM assignedto AS T1 JOIN scientists AS T2 ON T1.scientist = T2.ssn
Result:
,scientists name
0,Michael Rogers

Answer: The scientist who is assigned to some project is Michael Rogers
Table: city
Question: Find the official names of cities with population bigger than 1500 or smaller than 500.
SQL query:
SELECT Official_Name, Population 
 FROM city 
 WHERE Population > 1500 OR Population < 500
Result:
,Population,Official_Name
0,5706.0,Grand Falls/Grand-Sault

Answer: The city named Grand Falls/Grand-Sault has a population of 5706
Table: club, player
Question: What are the names of the clubs that have players in the position of "Right Wing"?
SQL query:
SELECT T1.name AS "club name", T2.Position AS "player Position" 
 FROM club AS T1 JOIN player AS T2 ON T1.Club_ID = T2.Club_ID 
 WHERE T2.Position = 'Right Wing'
Result:
,club name,player Position
0,BK Slide,Right Wing

Answer: The club BK Slide has a player at the position Right Wing.
Table: Ref_Shipping_Agents, Documents
Question: Which shipping agent shipped the most documents? List the shipping agent name and the number of documents.
SQL query:
SELECT Ref_Shipping_Agents.shipping_agent_name AS "Ref_Shipping_Agents shipping_agent_name", COUNT(Documents.document_id) AS "count of Documents", Ref_Shipping_Agents.shipping_agent_code AS "Ref_Shipping_Agents shipping_agent_code" 
 FROM Ref_Shipping_Agents JOIN Documents ON Documents.shipping_agent_code = Ref_Shipping_Agents.shipping_agent_code 
 GROUP BY Ref_Shipping_Agents.shipping_agent_code ORDER BY COUNT(Documents.document_id) DESC
Result:
,count of Documents,Ref_Shipping_Agents shipping_agent_code,Ref_Shipping_Agents shipping_agent_name
0,6,UP,UPS

Answer: The shipping agent named UPS with shipping agent code UP has shipped 6 documents
Table: employees
Question: display those departments where more than ten employees work who got a commission percentage.
SQL query:
SELECT department_id 
 FROM employees 
 GROUP BY department_id 
 HAVING COUNT(commission_pct) > 10
Result:
,DEPARTMENT_ID
0,50

Answer: The department with id 50 has more than ten employees work who got a commission percentage.
Table: HOTELS
Question: Tell me the price ranges for all the hotels.
SQL query:
SELECT price_range 
 FROM HOTELS
Result:
,price_range
0,2914989.571

Answer: The price range is 2914989.571.
Table: song
Question: What is the language that was used most often in songs with resolution above 500?
SQL query:
SELECT artist_name, resolution, languages 
 FROM song 
 WHERE resolution > 500 
 GROUP BY languages ORDER BY COUNT(*) DESC
Result:
,languages,resolution,artist_name
0,english,1080,Enrique

Answer: Enrique has a song in english with a resolution of 1080
Table: club_rank
Question: What is the average number of gold medals for clubs?
SQL query:
SELECT AVG(Gold) AS "average Gold" 
 FROM club_rank
Result:
,average Gold
0,5.833333333333333

Answer: The average number of gold medals for clubs is 5.833333333333333
Table: club
Question: Find the description of the club "Pen and Paper Gaming".
SQL query:
SELECT clubdesc, clubname 
 FROM club 
 WHERE clubname = 'Pen and Paper Gaming'
Result:
,ClubDesc,ClubName
0,Play pen and paper games on campus.,Pen and Paper Gaming

Answer: The description of the club with name Pen and Paper Gaming is Play pen and paper games on campus
Table: Invoices
Question: Count the number of invoices.
SQL query:
SELECT COUNT(*) AS "count of Invoices" 
 FROM Invoices
Result:
,count of Invoices
0,15

Answer: There are 15 invoices.
Table: roller_coaster
Question: How many roller coasters are there?
SQL query:
SELECT COUNT(*) AS "count of roller_coaster" 
 FROM roller_coaster
Result:
,count of roller_coaster
0,6

Answer: There are 6 roller coasters.
Table: film
Question: Return the titles of films that include 'Deleted Scenes' in their special feature section.
SQL query:
SELECT title, special_features 
 FROM film 
 WHERE special_features LIKE '%Deleted Scenes%'
Result:
,title,special_features
0,ACADEMY DINOSAUR,"Deleted Scenes,Behind the Scenes"

Answer: The film ACADEMY DINOSAUR includes 'Deleted Scenes' in its special feature section
Table: HOTELS, Ref_Hotel_Star_Ratings
Question: What are the star rating descriptions of the hotels with price above 10000?
SQL query:
SELECT T2.star_rating_description AS "Ref_Hotel_Star_Ratings star_rating_description", T1.price_range AS "HOTELS price_range" 
 FROM HOTELS AS T1 JOIN Ref_Hotel_Star_Ratings AS T2 ON T1.star_rating_code = T2.star_rating_code 
 WHERE T1.price_range > 10000
Result:
,HOTELS price_range,Ref_Hotel_Star_Ratings star_rating_description
0,2914989.571,star

Answer: The hotels with star rating descriptions have a price range of 2914989.571
Table: customer
Question: Find the state, account type, and credit score of the customer whose number of loan is 0.
SQL query:
SELECT state, acc_type, credit_score, no_of_loans 
 FROM customer 
 WHERE no_of_loans = 0
Result:
,state,acc_type,no_of_loans,credit_score
0,New York,saving,0,210

Answer: The customer with number of loan 0 is in the state of New York, has an account type saving and his credit score is 210.
Table: music_festival, volume
Question: What are the songs in volumes that have resulted in a nomination at music festivals?
SQL query:
SELECT T2.Song AS "volume Song", T1.Result AS "music_festival Result" 
 FROM music_festival AS T1 JOIN volume AS T2 ON T1.Volume = T2.Volume_ID 
 WHERE T1.Result = 'Nominated'
Result:
,volume Song,music_festival Result
0, The Way,Nominated

Answer: The song The Way was nominated in a festival.
Table: Ref_calendar
Question: Count the number of all the calendar items.
SQL query:
SELECT COUNT(*) AS "count of Ref_calendar" 
 FROM Ref_calendar
Result:
,count of Ref_calendar
0,15

Answer: There are 15 calendar items.
Table: Student
Question: Who advises student 1004?
SQL query:
SELECT Advisor, StuID 
 FROM Student 
 WHERE StuID = 1004
Result:
,StuID,Advisor
0,1004,8423

Answer: The student with id 1004 has the advisor 8423.
Table: party
Question: Who are the ministers who took office after 1961 or before 1959?
SQL query:
SELECT minister, took_office 
 FROM party 
 WHERE took_office > 1961 OR took_office < 1959
Result:
,Minister,Took_office
0,Dr. Kwame Nkrumah (MP),1957

Answer: The minister Dr. Kwame Nkrumah (MP) took office at 1957
Table: tracks
Question: How many milliseconds long is Fast As a Shark?
SQL query:
SELECT milliseconds, name 
 FROM tracks 
 WHERE name = 'Fast As a Shark'
Result:
,name,milliseconds
0,Fast As a Shark,230619

Answer: The Fast As a Shark has a duration of 230619 milliseconds.
Table: authors, authorship, papers
Question: Find the first names of all the authors who have written a paper with title containing the word "Functional".
SQL query:
SELECT t1.fname AS "authors fname", t3.title AS "papers title" 
 FROM authors AS t1 JOIN authorship AS t2 ON t1.authid = t2.authid JOIN papers AS t3 ON t2.paperid = t3.paperid 
 WHERE t3.title LIKE '%Functional%'
Result:
,papers title,authors fname
0,Functional Pearl: Modular Rollback through Control Logging,Olin

Answer: The author with first name Olin has written the paper Functional Pearl: Modular Rollback through Control Logging.