column_names: -1
*
0
museum id
0
name
0
num of staff
0
open year
1
customer id
1
name
1
level of membership
1
age
2
museum id
2
customer id
2
num of ticket
2
total spent
column_names_original: -1
*
0
Museum_ID
0
Name
0
Num_of_Staff
0
Open_Year
1
ID
1
Name
1
Level_of_membership
1
Age
2
Museum_ID
2
visitor_ID
2
Num_of_Ticket
2
Total_spent
column_types: text
number
text
number
text
number
text
number
number
number
text
number
number
db_id: museum_visit
table_names: museum
customer
visit
table_names_original: museum
visitor
visit

How many visitors below age 30 are there?
SELECT count(*) FROM visitor WHERE age  <  30

Find the names of the visitors whose membership level is higher than 4, and order the results by the level from high to low.
SELECT name FROM visitor WHERE Level_of_membership  >  4 ORDER BY Level_of_membership DESC

What is the average age of the visitors whose membership level is not higher than 4?
SELECT avg(age) FROM visitor WHERE Level_of_membership  <=  4

Find the name and membership level of the visitors whose membership level is higher than 4, and sort by their age from old to young.
SELECT name ,  Level_of_membership FROM visitor WHERE Level_of_membership  >  4 ORDER BY age DESC

Find the id and name of the museum that has the most staff members?
SELECT museum_id ,  name FROM museum ORDER BY num_of_staff DESC LIMIT 1

Find the average number of staff working for the museums that were open before 2009.
SELECT avg(num_of_staff) FROM museum WHERE open_year  <  2009

What are the opening year and staff number of the museum named Plaza Museum?
SELECT Num_of_Staff ,  Open_Year FROM museum WHERE name  =  'Plaza Museum'

find the names of museums which have more staff than the minimum staff number of all museums opened after 2010.
SELECT name FROM museum WHERE num_of_staff  >  (SELECT min(num_of_staff) FROM museum WHERE open_year  >  2010)

find the id, name and age for visitors who visited some museums more than once.
SELECT t1.id ,  t1.name ,  t1.age FROM visitor AS t1 JOIN visit AS t2 ON t1.id  =  t2.visitor_id GROUP BY t1.id HAVING count(*)  >  1

What are the id, name and membership level of visitors who have spent the largest amount of money in total in all museum tickets?
SELECT t2.visitor_id ,  t1.name ,  t1.Level_of_membership FROM visitor AS t1 JOIN visit AS t2 ON t1.id  =  t2.visitor_id GROUP BY t2.visitor_id ORDER BY sum(t2.Total_spent) DESC LIMIT 1

What are the id and name of the museum visited most times?
SELECT t2.Museum_ID ,  t1.name FROM museum AS t1 JOIN visit AS t2 ON t1.Museum_ID  =  t2.Museum_ID GROUP BY t2.Museum_ID ORDER BY count(*) DESC LIMIT 1

What is the name of the museum that had no visitor yet?
SELECT name FROM museum WHERE Museum_ID NOT IN (SELECT museum_id FROM visit)

Find the name and age of the visitor who bought the most tickets at once.
SELECT t1.name ,  t1.age FROM visitor AS t1 JOIN visit AS t2 ON t1.id  =  t2.visitor_id ORDER BY t2.num_of_ticket DESC LIMIT 1

What are the average and maximum number of tickets bought in all visits?
SELECT avg(num_of_ticket) ,  max(num_of_ticket) FROM visit

What is the total ticket expense of the visitors whose membership level is 1?
SELECT sum(t2.Total_spent) FROM visitor AS t1 JOIN visit AS t2 ON t1.id  =  t2.visitor_id WHERE t1.Level_of_membership  =  1

What is the name of the visitor who visited both a museum opened before 2009 and a museum opened after 2011?
SELECT t1.name FROM visitor AS t1 JOIN visit AS t2 ON t1.id  =  t2.visitor_id JOIN museum AS t3 ON t3.Museum_ID  =  t2.Museum_ID WHERE t3.open_year  <  2009 INTERSECT SELECT t1.name FROM visitor AS t1 JOIN visit AS t2 ON t1.id  =  t2.visitor_id JOIN museum AS t3 ON t3.Museum_ID  =  t2.Museum_ID WHERE t3.open_year  >  2011

Find the number of visitors who did not visit any museum opened after 2010.
SELECT count(*) FROM visitor WHERE id NOT IN (SELECT t2.visitor_id FROM museum AS t1 JOIN visit AS t2 ON t1.Museum_ID  =  t2.Museum_ID WHERE t1.open_year  >  2010)

How many museums were opened after 2013 or before 2008?
SELECT count(*) FROM museum WHERE open_year  >  2013 OR open_year  <  2008