QIAN-ME/bird_schema_data huggingface dataset:
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    How many universities had above 30% of international students in 2013? had above 30% of international students refers to pct_international_students > 30; in 2013 refers to year = 2013

    【Evidence】
    had above 30% of international students refers to pct_international_students > 30; in 2013 refers to year = 2013

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(*) FROM university_year WHERE pct_international_students > 30 AND year = 2013
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    How many universities got less than 50 scores under ranking criteria ID 6 in 2011? in 2011 refers to year 2011; less than 50 scores refers to score < 50;

    【Evidence】
    in 2011 refers to year 2011; less than 50 scores refers to score < 50;

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(*) FROM university_ranking_year WHERE ranking_criteria_id = 6 AND year = 2011 AND score < 50
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    Provide the number of students at Yale University in 2016. number of students refers to num_students; Yale University refers to university_name = 'Yale University'; in 2016 refers to year = 2016

    【Evidence】
    number of students refers to num_students; Yale University refers to university_name = 'Yale University'; in 2016 refers to year = 2016

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.num_students FROM university_year AS T1 INNER JOIN university AS T2 ON T1.university_id = T2.id WHERE T2.university_name = 'Yale University' AND T1.year = 2016
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    List the universities in Denmark. in Denmark refers to country_name = 'Denmark'; name of university refers to university_name;

    【Evidence】
    in Denmark refers to country_name = 'Denmark'; name of university refers to university_name;

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.university_name FROM university AS T1 INNER JOIN country AS T2 ON T1.country_id = T2.id WHERE T2.country_name = 'Denmark'
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    Provide the number of staff at the University of Auckland in 2015. University of Auckland refers to university_name = 'University of Auckland'; in 2015 refers to year = 2015; number of staff refers to DIVIDE(num_students, student_staff_ratio)

    【Evidence】
    University of Auckland refers to university_name = 'University of Auckland'; in 2015 refers to year = 2015; number of staff refers to DIVIDE(num_students, student_staff_ratio)

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT CAST(SUM(T1.num_students) AS REAL) / SUM(T1.student_staff_ratio) FROM university_year AS T1 INNER JOIN university AS T2 ON T1.university_id = T2.id WHERE T2.university_name = 'University of Auckland' AND T1.year = 2015
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    Which country has the University of SÃ£o Paulo? the University of SÃ£o Paulo refers to university_name = 'University of São Paulo'; which country refers to country_name;

    【Evidence】
    the University of SÃ£o Paulo refers to university_name = 'University of São Paulo'; which country refers to country_name;

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T2.country_name FROM university AS T1 INNER JOIN country AS T2 ON T1.country_id = T2.id WHERE T1.university_name = 'University of São Paulo'
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    How many international students attended Harvard University in 2012? Harvard University refers to university_name = 'Harvard University'; international students refers to DIVIDE(MULTIPLY(num_students, pct_international_students), 100); in 2012 refers to year = 2012

    【Evidence】
    Harvard University refers to university_name = 'Harvard University'; international students refers to DIVIDE(MULTIPLY(num_students, pct_international_students), 100); in 2012 refers to year = 2012

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT CAST(T2.num_students * T2.pct_international_students AS REAL) / 100 FROM university AS T1 INNER JOIN university_year AS T2 ON T1.id = T2.university_id WHERE T1.university_name = 'Harvard University' AND T2.year = 2012
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    Calculate the number of female students at Arizona State University in 2014. female students refers to DIVIDE(MULTIPLY(pct_female_students, num_students), 100); at Arizona State University refers to university_name = 'Arizona State University'; in 2014 refers to year = 2014

    【Evidence】
    female students refers to DIVIDE(MULTIPLY(pct_female_students, num_students), 100); at Arizona State University refers to university_name = 'Arizona State University'; in 2014 refers to year = 2014

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT CAST(T2.num_students * T2.pct_female_students AS REAL) / 100 FROM university AS T1 INNER JOIN university_year AS T2 ON T1.id = T2.university_id WHERE T1.university_name = 'Arizona State University' AND T2.year = 2014
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    Provide the universities which got the highest scores. got the highest scores refers to MAX(SUM(score))

    【Evidence】
    got the highest scores refers to MAX(SUM(score))

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.university_name FROM university AS T1 INNER JOIN university_ranking_year AS T2 ON T1.id = T2.university_id GROUP BY T1.university_name ORDER BY SUM(T2.score) DESC LIMIT 1
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 university
【Schema】
# Table: university_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(num_students:INTEGER, Examples: [20152, 2243, 11074]),
(student_staff_ratio:REAL, Examples: [8.9, 6.9, 9.0]),
(pct_international_students:INTEGER, Examples: [25, 27, 33]),
(pct_female_students:INTEGER, Examples: [33, 37, 42])
]
# Table: country
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_name:TEXT, Examples: [Argentina, Australia, Austria])
]
# Table: university
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(country_id:INTEGER, Examples: [73, 72, 33]),
(university_name:TEXT, Examples: [Harvard University])
]
# Table: university_ranking_year
[
(university_id:INTEGER, Examples: [1, 5, 2]),
(ranking_criteria_id:INTEGER, Examples: [1, 2, 3]),
(year:INTEGER, Examples: [2011, 2012, 2013]),
(score:INTEGER, Examples: [100, 98, 91])
]
# Table: ranking_system
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(system_name:TEXT, Examples: [Times Higher Education World University Ranking])
]
# Table: ranking_criteria
[
(id:INTEGER, Primary Key, Examples: [1, 2, 3]),
(ranking_system_id:INTEGER, Examples: [1, 2, 3]),
(criteria_name:TEXT, Examples: [Teaching, International, Research])
]
【Foreign keys】
university_year.university_id=university.id
university.country_id=country.id
university_ranking_year.ranking_criteria_id=ranking_criteria.id
university_ranking_year.university_id=university.id
ranking_criteria.ranking_system_id=ranking_system.id

    【Question】
    List the ranking criteria under the Shanghai Ranking system. Shanghai Ranking system refers to system_name = 'Shanghai Ranking'; ranking criteria refers to criteria_name

    【Evidence】
    Shanghai Ranking system refers to system_name = 'Shanghai Ranking'; ranking criteria refers to criteria_name

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T2.criteria_name FROM ranking_system AS T1 INNER JOIN ranking_criteria AS T2 ON T1.id = T2.ranking_system_id WHERE T1.system_name = 'Shanghai Ranking'