sharkiefff/RBAC-Text2SQL-Benchmark huggingface dataset:
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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 average age of the dogs who went through treatments.
Answer: SELECT avg(age) FROM Dogs WHERE dog_id IN ( SELECT dog_id FROM Treatments )
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT avg(age) FROM Dogs WHERE dog_id IN ( SELECT dog_id FROM Treatments )
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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: Which professionals live in the state of Indiana or have done treatment on more than 2 treatments? List his or her id, last name and cell phone.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: professionals: state)
Gold SQL: SELECT professional_id ,  last_name ,  cell_number FROM Professionals WHERE state  =  'Indiana' UNION SELECT T1.professional_id ,  T1.last_name ,  T1.cell_number FROM Professionals AS T1 JOIN Treatments AS T2 ON T1.professional_id  =  T2.professional_id GROUP BY T1.professional_id HAVING count(*)  >  2
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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 id, last name and cell phone of the professionals who live in the state of Indiana or have performed more than two treatments.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: professionals: state)
Gold SQL: SELECT professional_id ,  last_name ,  cell_number FROM Professionals WHERE state  =  'Indiana' UNION SELECT T1.professional_id ,  T1.last_name ,  T1.cell_number FROM Professionals AS T1 JOIN Treatments AS T2 ON T1.professional_id  =  T2.professional_id GROUP BY T1.professional_id HAVING count(*)  >  2
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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: Which dogs have not cost their owner more than 1000 for treatment ? List the dog names .
Answer: select name from dogs where dog_id not in ( select dog_id from treatments group by dog_id having sum(cost_of_treatment)  >  1000 )
Permission: allowed (All required columns are permitted)
Gold SQL: select name from dogs where dog_id not in ( select dog_id from treatments group by dog_id having sum(cost_of_treatment)  >  1000 )
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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 dogs for which the owner has not spend more than 1000 for treatment ?
Answer: select name from dogs where dog_id not in ( select dog_id from treatments group by dog_id having sum(cost_of_treatment)  >  1000 )
Permission: allowed (All required columns are permitted)
Gold SQL: select name from dogs where dog_id not in ( select dog_id from treatments group by dog_id having sum(cost_of_treatment)  >  1000 )
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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: Which first names are used for professionals or owners but are not used as dog names?
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: professionals: first_name)
Gold SQL: SELECT first_name FROM Professionals UNION SELECT first_name FROM Owners EXCEPT SELECT name FROM Dogs
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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 first names that are used for professionals or owners but are not used as dog names.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: professionals: first_name)
Gold SQL: SELECT first_name FROM Professionals UNION SELECT first_name FROM Owners EXCEPT SELECT name FROM Dogs
##Instruction:
Database: dog_kennels
Total Tables: 8
Total Columns: 49

Table Schemas:

dog_kennels contains tables such as Breeds, Charges, Sizes, Treatment_Types, Owners, Dogs, Professionals, Treatments.
Table Breeds has columns such as breed_code, breed_name.
breed_code is the primary key.
Table Charges has columns such as charge_id, charge_type, charge_amount.
charge_id is the primary key.
Table Sizes has columns such as size_code, size_description.
size_code is the primary key.
Table Treatment_Types has columns such as treatment_type_code, treatment_type_description.
treatment_type_code is the primary key.
Table Owners has columns such as owner_id, first_name, last_name, street, city, state, zip_code, email_address, home_phone, cell_number.
owner_id is the primary key.
Table Dogs has columns such as dog_id, owner_id, abandoned_yn, breed_code, size_code, name, age, date_of_birth, gender, weight, date_arrived, date_adopted, date_departed.
dog_id is the primary key.
Table Professionals has columns such as professional_id, role_code, first_name, street, city, state, zip_code, last_name, email_address, home_phone, cell_number.
professional_id is the primary key.
Table Treatments has columns such as treatment_id, dog_id, professional_id, treatment_type_code, date_of_treatment, cost_of_treatment.
treatment_id is the primary key.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The owner_id of Dogs is the foreign key of owner_id of Owners.
The size_code of Dogs is the foreign key of size_code of Sizes.
The breed_code of Dogs is the foreign key of breed_code of Breeds.
The dog_id of Treatments is the foreign key of dog_id of Dogs.
The professional_id of Treatments is the foreign key of professional_id of Professionals.
The treatment_type_code of Treatments is the foreign key of treatment_type_code of Treatment_Types.

##Role Access Policy (Column-Level):
Role: DataOperator_3
Accessible Columns: Breeds: ALL COLUMNS; Charges: charge_amount, charge_type; Dogs: ALL COLUMNS; Professionals: cell_number, city, email_address, home_phone, last_name, professional_id, zip_code; Treatment_Types: ALL COLUMNS; Treatments: cost_of_treatment, date_of_treatment, dog_id, professional_id

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: Which professional did not operate any treatment on dogs? List the professional's id, role and email.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: professionals: role_code)
Gold SQL: SELECT professional_id ,  role_code ,  email_address FROM Professionals EXCEPT SELECT T1.professional_id ,  T1.role_code ,  T1.email_address FROM Professionals AS T1 JOIN Treatments AS T2 ON T1.professional_id  =  T2.professional_id