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

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 id and full name of the customer who has the fewest accounts.
Answer: SELECT T1.customer_id ,  T2.customer_first_name ,  T2.customer_last_name FROM Customers_cards AS T1 JOIN Customers AS T2 ON T1.customer_id  =  T2.customer_id GROUP BY T1.customer_id ORDER BY count(*) ASC LIMIT 1
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT T1.customer_id ,  T2.customer_first_name ,  T2.customer_last_name FROM Customers_cards AS T1 JOIN Customers AS T2 ON T1.customer_id  =  T2.customer_id GROUP BY T1.customer_id ORDER BY count(*) ASC LIMIT 1
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 card type codes and the number of cards in each type.
Answer: SELECT card_type_code ,  count(*) FROM Customers_cards GROUP BY card_type_code
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code ,  count(*) FROM Customers_cards GROUP BY card_type_code
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 card types, and how many cards are there of each?
Answer: SELECT card_type_code ,  count(*) FROM Customers_cards GROUP BY card_type_code
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code ,  count(*) FROM Customers_cards GROUP BY card_type_code
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 card type code with most number of cards?
Answer: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code ORDER BY count(*) DESC LIMIT 1
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code ORDER BY count(*) DESC LIMIT 1
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 code of the card type that is most common.
Answer: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code ORDER BY count(*) DESC LIMIT 1
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code ORDER BY count(*) DESC LIMIT 1
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 type codes with at least 5 cards.
Answer: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code HAVING count(*)  >=  5
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code HAVING count(*)  >=  5
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 codes of card types that have 5 or more cards?
Answer: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code HAVING count(*)  >=  5
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code FROM Customers_cards GROUP BY card_type_code HAVING count(*)  >=  5
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 card type codes and the number of customers holding cards in each type.
Answer: SELECT card_type_code ,  count(DISTINCT customer_id) FROM Customers_cards GROUP BY card_type_code
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code ,  count(DISTINCT customer_id) FROM Customers_cards GROUP BY card_type_code
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 card type codes, and how many different customers hold each type?
Answer: SELECT card_type_code ,  count(DISTINCT customer_id) FROM Customers_cards GROUP BY card_type_code
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT card_type_code ,  count(DISTINCT customer_id) FROM Customers_cards GROUP BY card_type_code
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 customer ids and firstname without a credit card.
Answer: SELECT customer_id ,  customer_first_name FROM Customers EXCEPT SELECT T1.customer_id ,  T2.customer_first_name FROM Customers_cards AS T1 JOIN Customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE card_type_code  =  "Credit"
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT customer_id ,  customer_first_name FROM Customers EXCEPT SELECT T1.customer_id ,  T2.customer_first_name FROM Customers_cards AS T1 JOIN Customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE card_type_code  =  "Credit"
##Instruction:
Database: customers_card_transactions
Total Tables: 4
Total Columns: 27

Table Schemas:

customers_card_transactions contains tables such as Accounts, Customers, Customers_Cards, Financial_Transactions.
Table Accounts has columns such as account_id, customer_id, account_name, other_account_details.
account_id is the primary key.
Table Customers has columns such as customer_id, customer_first_name, customer_last_name, customer_address, customer_phone, customer_email, other_customer_details.
customer_id is the primary key.
Table Customers_Cards has columns such as card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to, other_card_details.
card_id is the primary key.
Table Financial_Transactions has columns such as transaction_id, previous_transaction_id, account_id, card_id, transaction_type, transaction_date, transaction_amount, transaction_comment, other_transaction_details.
The account_id of Financial_Transactions is the foreign key of account_id of Accounts.
The card_id of Financial_Transactions is the foreign key of card_id of Customers_Cards.

##Role Access Policy (Column-Level):
Role: FraudAnalyst
Accessible Columns: Customers: customer_id, customer_first_name, customer_last_name, customer_phone, customer_email; Accounts: account_id, customer_id, account_name; Customers_Cards: card_id, customer_id, card_type_code, card_number, date_valid_from, date_valid_to; Financial_Transactions: ALL COLUMNS

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 ids and first names of customers who do not hold a credit card?
Answer: SELECT customer_id ,  customer_first_name FROM Customers EXCEPT SELECT T1.customer_id ,  T2.customer_first_name FROM Customers_cards AS T1 JOIN Customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE card_type_code  =  "Credit"
Permission: allowed (All required columns are permitted)
Gold SQL: SELECT customer_id ,  customer_first_name FROM Customers EXCEPT SELECT T1.customer_id ,  T2.customer_first_name FROM Customers_cards AS T1 JOIN Customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE card_type_code  =  "Credit"