sharkiefff/RBAC-Text2SQL-Benchmark huggingface dataset:
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: What are the names of the courses taught by the tutor whose personal name is "Julio"?
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: course_authors_and_tutors: author_id, personal_name; courses: author_id)
Gold SQL: SELECT T2.course_name FROM Course_Authors_and_Tutors AS T1 JOIN Courses AS T2 ON T1.author_id  =  T2.author_id WHERE T1.personal_name  =  "Julio"
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: Find the names and descriptions of courses that belong to the subject named "Computer Science".
Answer: SELECT T1.course_name ,  T1.course_description FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id WHERE T2.subject_name  =  "Computer Science"
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.course_name ,  T1.course_description FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id WHERE T2.subject_name  =  "Computer Science"
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: What are the names and descriptions of the all courses under the "Computer Science" subject?
Answer: SELECT T1.course_name ,  T1.course_description FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id WHERE T2.subject_name  =  "Computer Science"
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.course_name ,  T1.course_description FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id WHERE T2.subject_name  =  "Computer Science"
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: Find the subject ID, subject name, and the corresponding number of available courses for each subject.
Answer: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: What are the subject ID, subject name, and the number of available courses for each subject?
Answer: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: Find the subject ID, name of subject and the corresponding number of courses for each subject, and sort by the course count in ascending order.
Answer: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id ORDER BY COUNT(*) ASC
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id ORDER BY COUNT(*) ASC
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: List the subject ID, name of subject and the number of courses available for each subject in ascending order of the course counts.
Answer: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id ORDER BY COUNT(*) ASC
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.subject_id ,  T2.subject_name ,  COUNT(*) FROM Courses AS T1 JOIN Subjects AS T2 ON T1.subject_id  =  T2.subject_id GROUP BY T1.subject_id ORDER BY COUNT(*) ASC
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: What is the date of enrollment of the course named "Spanish"?
Answer: SELECT T2.date_of_enrolment FROM Courses AS T1 JOIN Student_Course_Enrolment AS T2 ON T1.course_id  =  T2.course_id WHERE T1.course_name  =  "Spanish"
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T2.date_of_enrolment FROM Courses AS T1 JOIN Student_Course_Enrolment AS T2 ON T1.course_id  =  T2.course_id WHERE T1.course_name  =  "Spanish"
##Instruction:
Database: e_learning
Total Tables: 6
Total Columns: 32

Table Schemas:

e_learning contains tables such as Course_Authors_and_Tutors, Students, Subjects, Courses, Student_Course_Enrolment, Student_Tests_Taken.
Table Course_Authors_and_Tutors has columns such as author_id, author_tutor_ATB, login_name, password, personal_name, middle_name, family_name, gender_mf, address_line_1.
author_id is the primary key.
Table Students has columns such as student_id, date_of_registration, date_of_latest_logon, login_name, password, personal_name, middle_name, family_name.
student_id is the primary key.
Table Subjects has columns such as subject_id, subject_name.
subject_id is the primary key.
Table Courses has columns such as course_id, author_id, subject_id, course_name, course_description.
course_id is the primary key.
Table Student_Course_Enrolment has columns such as registration_id, student_id, course_id, date_of_enrolment, date_of_completion.
registration_id is the primary key.
Table Student_Tests_Taken has columns such as registration_id, date_test_taken, test_result.
The subject_id of Courses is the foreign key of subject_id of Subjects.
The author_id of Courses is the foreign key of author_id of Course_Authors_and_Tutors.
The student_id of Student_Course_Enrolment is the foreign key of student_id of Students.
The course_id of Student_Course_Enrolment is the foreign key of course_id of Courses.
The registration_id of Student_Tests_Taken is the foreign key of registration_id of Student_Course_Enrolment.

##Role Access Policy (Column-Level):
Role: Student
Accessible Columns: Students: student_id, date_of_registration, date_of_latest_logon, login_name, personal_name, middle_name, family_name; Subjects: subject_id, subject_name; Courses: course_id, subject_id, course_name, course_description; Student_Course_Enrolment: registration_id, student_id, course_id, date_of_enrolment, date_of_completion; Student_Tests_Taken: registration_id, date_test_taken, test_result

Based on the above schema and your role's column-level access policy, generate a SQL query to answer the question. If your role does not have access to the required columns, respond with: "Sorry, I cannot answer."


Question: Find the the date of enrollment of the "Spanish" course.
Answer: SELECT T2.date_of_enrolment FROM Courses AS T1 JOIN Student_Course_Enrolment AS T2 ON T1.course_id  =  T2.course_id WHERE T1.course_name  =  "Spanish"
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T2.date_of_enrolment FROM Courses AS T1 JOIN Student_Course_Enrolment AS T2 ON T1.course_id  =  T2.course_id WHERE T1.course_name  =  "Spanish"