CREATE TABLE Maintenance_Engineers (engineer_id NUMBER, company_id NUMBER, first_name VARCHAR2, last_name VARCHAR2, other_details VARCHAR2)
CREATE TABLE Staff (staff_id NUMBER, staff_name VARCHAR2, gender VARCHAR2, other_staff_details VARCHAR2)
CREATE TABLE Assets (asset_id NUMBER, maintenance_contract_id NUMBER, supplier_company_id NUMBER, asset_details VARCHAR2, asset_make VARCHAR2, asset_model VARCHAR2, asset_acquired_date DATETIME, asset_disposed_date DATETIME, other_asset_details VARCHAR2)
CREATE TABLE Parts (part_id NUMBER, part_name VARCHAR2, chargeable_yn VARCHAR2, chargeable_amount VARCHAR2, other_part_details VARCHAR2)
CREATE TABLE Part_Faults (part_fault_id NUMBER, part_id NUMBER, fault_short_name VARCHAR2, fault_description VARCHAR2, other_fault_details VARCHAR2)
CREATE TABLE Fault_Log_Parts (fault_log_entry_id NUMBER, part_fault_id NUMBER, fault_status VARCHAR2)
CREATE TABLE Engineer_Visits (engineer_visit_id NUMBER, contact_staff_id NUMBER, engineer_id NUMBER, fault_log_entry_id NUMBER, fault_status VARCHAR2, visit_start_datetime DATETIME, visit_end_datetime DATETIME, other_visit_details VARCHAR2)
CREATE TABLE Maintenance_Contracts (maintenance_contract_id NUMBER, maintenance_contract_company_id NUMBER, contract_start_date DATETIME, contract_end_date DATETIME, other_contract_details VARCHAR2)
CREATE TABLE Third_Party_Companies (company_id NUMBER, company_type VARCHAR2, company_name VARCHAR2, company_address VARCHAR2, other_company_details VARCHAR2)
CREATE TABLE Asset_Parts (asset_id NUMBER, part_id NUMBER)
CREATE TABLE Skills (skill_id NUMBER, skill_code VARCHAR2, skill_description VARCHAR2)
CREATE TABLE Fault_Log (fault_log_entry_id NUMBER, asset_id NUMBER, recorded_by_staff_id NUMBER, fault_log_entry_datetime DATETIME, fault_description VARCHAR2, other_fault_details VARCHAR2)
CREATE TABLE Engineer_Skills (engineer_id NUMBER, skill_id NUMBER)
CREATE TABLE Skills_Required_To_Fix (part_fault_id NUMBER, skill_id NUMBER)

How many engineers did each staff contact? List both the contact staff name and number of engineers contacted Plot them as bar chart, and could you list names in desc order?
SELECT staff_name, COUNT(*) FROM Staff AS T1 JOIN Engineer_Visits AS T2 ON T1.staff_id = T2.contact_staff_id GROUP BY T1.staff_name ORDER BY staff_name DESC
SELECT "staff_name", COUNT(*) FROM "Staff" "T1" JOIN "Engineer_Visits" "T2" ON "T1"."staff_id" = "T2"."contact_staff_id" GROUP BY "T1"."staff_name" ORDER BY "staff_name" DESC