sharkiefff/RBAC-Text2SQL-Benchmark huggingface dataset:
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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: How many different levels do members have?
Answer: SELECT count(DISTINCT LEVEL) FROM member
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT count(DISTINCT LEVEL) FROM member
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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 different membership levels?
Answer: SELECT count(DISTINCT LEVEL) FROM member
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT count(DISTINCT LEVEL) FROM member
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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: Show card number, name, and hometown for all members in a descending order of level.
Answer: SELECT card_number ,  name ,  hometown FROM member ORDER BY LEVEL DESC
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_number ,  name ,  hometown FROM member ORDER BY LEVEL DESC
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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 card numbers, names, and hometowns of every member ordered by descending level?
Answer: SELECT card_number ,  name ,  hometown FROM member ORDER BY LEVEL DESC
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_number ,  name ,  hometown FROM member ORDER BY LEVEL DESC
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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: Show the membership level with most number of members.
Answer: SELECT LEVEL FROM member GROUP BY LEVEL ORDER BY count(*) DESC LIMIT 1
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT LEVEL FROM member GROUP BY LEVEL ORDER BY count(*) DESC LIMIT 1
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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 membership level with the most people?
Answer: SELECT LEVEL FROM member GROUP BY LEVEL ORDER BY count(*) DESC LIMIT 1
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT LEVEL FROM member GROUP BY LEVEL ORDER BY count(*) DESC LIMIT 1
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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: Show all member names and registered branch names sorted by register year.
Answer: SELECT T3.name ,  T2.name FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id JOIN member AS T3 ON T1.member_id  =  T3.member_id ORDER BY T1.register_year
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T3.name ,  T2.name FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id JOIN member AS T3 ON T1.member_id  =  T3.member_id ORDER BY T1.register_year
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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 members and branches at which they are registered sorted by year of registration?
Answer: SELECT T3.name ,  T2.name FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id JOIN member AS T3 ON T1.member_id  =  T3.member_id ORDER BY T1.register_year
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T3.name ,  T2.name FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id JOIN member AS T3 ON T1.member_id  =  T3.member_id ORDER BY T1.register_year
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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: Show all branch names with the number of members in each branch registered after 2015.
Answer: SELECT T2.name ,  count(*) FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id WHERE T1.register_year  >  2015 GROUP BY T2.branch_id
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T2.name ,  count(*) FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id WHERE T1.register_year  >  2015 GROUP BY T2.branch_id
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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: For each branch id, what are the names of the branches that were registered after 2015?
Answer: SELECT T2.name ,  count(*) FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id WHERE T1.register_year  >  2015 GROUP BY T2.branch_id
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T2.name ,  count(*) FROM membership_register_branch AS T1 JOIN branch AS T2 ON T1.branch_id  =  T2.branch_id WHERE T1.register_year  >  2015 GROUP BY T2.branch_id
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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: Show member names without any registered branch.
Answer: SELECT name FROM member WHERE member_id NOT IN (SELECT member_id FROM membership_register_branch)
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT name FROM member WHERE member_id NOT IN (SELECT member_id FROM membership_register_branch)
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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 members that have never registered at any branch?
Answer: SELECT name FROM member WHERE member_id NOT IN (SELECT member_id FROM membership_register_branch)
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT name FROM member WHERE member_id NOT IN (SELECT member_id FROM membership_register_branch)
##Instruction:
Database: shop_membership
Total Tables: 4
Total Columns: 18

Table Schemas:

shop_membership contains tables such as member, branch, membership_register_branch, purchase.
Table member has columns such as Member_ID, Card_Number, Name, Hometown, Level.
Member_ID is the primary key.
Table branch has columns such as Branch_ID, Name, Open_year, Address_road, City, membership_amount.
Branch_ID is the primary key.
Table membership_register_branch has columns such as Member_ID, Branch_ID, Register_Year.
Member_ID is the primary key.
Table purchase has columns such as Member_ID, Branch_ID, Year, Total_pounds.
Member_ID is the primary key.
The Branch_ID of membership_register_branch is the foreign key of Branch_ID of branch.
The Member_ID of membership_register_branch is the foreign key of Member_ID of member.
The Branch_ID of purchase is the foreign key of Branch_ID of branch.
The Member_ID of purchase is the foreign key of Member_ID of member.

##Role Access Policy (Column-Level):
Role: CustomerServiceAgent
Accessible Columns: member: Member_ID, Card_Number, Name, Hometown, Level; branch: Branch_ID, Name, City; membership_register_branch: Member_ID, Branch_ID, Register_Year; purchase: Member_ID, Branch_ID, Year

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 branch name and city without any registered members.
Answer: SELECT name ,  city FROM branch WHERE branch_id NOT IN (SELECT branch_id FROM membership_register_branch)
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT name ,  city FROM branch WHERE branch_id NOT IN (SELECT branch_id FROM membership_register_branch)