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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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: email_address, professional_id, role_code; treatments: professional_id)
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
##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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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: Give me the id, role and email of the professionals who did not perform any treatment on dogs.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: professionals: email_address, professional_id, role_code; treatments: professional_id)
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
##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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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 owner owns the most dogs? List the owner id, first name and last name.
Answer: SELECT T1.owner_id ,  T2.first_name ,  T2.last_name FROM Dogs AS T1 JOIN Owners AS T2 ON T1.owner_id  =  T2.owner_id GROUP BY T1.owner_id ORDER BY count(*) DESC LIMIT 1
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.owner_id ,  T2.first_name ,  T2.last_name FROM Dogs AS T1 JOIN Owners AS T2 ON T1.owner_id  =  T2.owner_id GROUP BY T1.owner_id ORDER BY count(*) DESC LIMIT 1
##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: BillingSpecialist
Accessible Columns: Charges: charge_id, charge_type, charge_amount; Treatments: treatment_id, dog_id, treatment_type_code, date_of_treatment, cost_of_treatment; Dogs: dog_id, name, owner_id; Owners: owner_id, first_name, last_name, street, city, state, zip_code

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: Return the owner id, first name and last name of the owner who has the most dogs.
Answer: SELECT T1.owner_id ,  T2.first_name ,  T2.last_name FROM Dogs AS T1 JOIN Owners AS T2 ON T1.owner_id  =  T2.owner_id GROUP BY T1.owner_id ORDER BY count(*) DESC LIMIT 1
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.owner_id ,  T2.first_name ,  T2.last_name FROM Dogs AS T1 JOIN Owners AS T2 ON T1.owner_id  =  T2.owner_id GROUP BY T1.owner_id ORDER BY count(*) DESC LIMIT 1