sharkiefff/RBAC-Text2SQL-Benchmark huggingface dataset:
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 a list of all the service names sorted alphabetically.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: services: Service_name)
Gold SQL: SELECT service_name FROM services ORDER BY service_name
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 services are there?
Answer: SELECT count(*) FROM services
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT count(*) FROM services
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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: Count the total number of available services.
Answer: SELECT count(*) FROM services
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT count(*) FROM services
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 of users who do not have a first notification of loss record.
Answer: SELECT customer_name FROM customers EXCEPT SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT customer_name FROM customers EXCEPT SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 customers do not have a first notification of loss record? Give me the customer names.
Answer: SELECT customer_name FROM customers EXCEPT SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT customer_name FROM customers EXCEPT SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 of customers who have used either the service "Close a policy" or the service "Upgrade a policy".
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: services: service_id, service_name)
Gold SQL: SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id JOIN services AS t3 ON t2.service_id  =  t3.service_id WHERE t3.service_name  =  "Close a policy" OR t3.service_name  =  "Upgrade a policy"
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 customers have used the service named "Close a policy" or "Upgrade a policy"? Give me the customer names.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: services: service_id, service_name)
Gold SQL: SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id JOIN services AS t3 ON t2.service_id  =  t3.service_id WHERE t3.service_name  =  "Close a policy" OR t3.service_name  =  "Upgrade a policy"
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 of customers who have used both the service "Close a policy" and the service "New policy application".
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: services: service_id, service_name)
Gold SQL: SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id JOIN services AS t3 ON t2.service_id  =  t3.service_id WHERE t3.service_name  =  "Close a policy" INTERSECT SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id JOIN services AS t3 ON t2.service_id  =  t3.service_id WHERE t3.service_name  =  "New policy application"
##Instruction:
Database: insurance_fnol
Total Tables: 7
Total Columns: 22

Table Schemas:

insurance_fnol contains tables such as Customers, Services, Available_Policies, Customers_Policies, First_Notification_of_Loss, Claims, Settlements.
Table Customers has columns such as Customer_ID, Customer_name.
Customer_ID is the primary key.
Table Services has columns such as Service_ID, Service_name.
Service_ID is the primary key.
Table Available_Policies has columns such as Policy_ID, policy_type_code, Customer_Phone.
Policy_ID is the primary key.
Table Customers_Policies has columns such as Customer_ID, Policy_ID, Date_Opened, Date_Closed.
Customer_ID is the primary key.
Table First_Notification_of_Loss has columns such as FNOL_ID, Customer_ID, Policy_ID, Service_ID.
FNOL_ID is the primary key.
Table Claims has columns such as Claim_ID, FNOL_ID, Effective_Date.
Claim_ID is the primary key.
Table Settlements has columns such as Settlement_ID, Claim_ID, Effective_Date, Settlement_Amount.
Settlement_ID is the primary key.
The Policy_ID of Customers_Policies is the foreign key of Policy_ID of Available_Policies.
The Customer_ID of Customers_Policies is the foreign key of Customer_ID of Customers.
The Customer_ID of First_Notification_of_Loss is the foreign key of Customer_ID of Customers_Policies.
The Policy_ID of First_Notification_of_Loss is the foreign key of Policy_ID of Customers_Policies.
The Service_ID of First_Notification_of_Loss is the foreign key of Service_ID of Services.
The FNOL_ID of Claims is the foreign key of FNOL_ID of First_Notification_of_Loss.
The Claim_ID of Settlements is the foreign key of Claim_ID of Claims.

##Role Access Policy (Column-Level):
Role: UnderwritingAnalyst
Accessible Columns: Customers: Customer_ID, Customer_name; Available_Policies: ALL COLUMNS; Customers_Policies: ALL COLUMNS; First_Notification_of_Loss: FNOL_ID, Customer_ID, Policy_ID, Service_ID; Claims: Claim_ID, FNOL_ID, Effective_Date

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 customers have used both the service named "Close a policy" and the service named "Upgrade a policy"? Give me the customer names.
Answer: Sorry, I cannot answer.
Permission: denied (Missing column permissions: services: service_id, service_name)
Gold SQL: SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id JOIN services AS t3 ON t2.service_id  =  t3.service_id WHERE t3.service_name  =  "Close a policy" INTERSECT SELECT t1.customer_name FROM customers AS t1 JOIN first_notification_of_loss AS t2 ON t1.customer_id  =  t2.customer_id JOIN services AS t3 ON t2.service_id  =  t3.service_id WHERE t3.service_name  =  "New policy application"