CREATE TABLE staff (staff_id NUMBER, staff_name CLOB, gender CLOB, other_staff_details CLOB)
CREATE TABLE assets (asset_id NUMBER, maintenance_contract_id NUMBER, supplier_company_id NUMBER, asset_details CLOB, asset_make CLOB, asset_model CLOB, asset_acquired_date TIME, asset_disposed_date TIME, other_asset_details CLOB)
CREATE TABLE skills_required_to_fix (part_fault_id NUMBER, skill_id NUMBER)
CREATE TABLE part_faults (part_fault_id NUMBER, part_id NUMBER, fault_short_name CLOB, fault_description CLOB, other_fault_details CLOB)
CREATE TABLE fault_log_parts (fault_log_entry_id NUMBER, part_fault_id NUMBER, fault_status CLOB)
CREATE TABLE asset_parts (asset_id NUMBER, part_id NUMBER)
CREATE TABLE third_party_companies (company_id NUMBER, company_type CLOB, company_name CLOB, company_address CLOB, other_company_details CLOB)
CREATE TABLE parts (part_id NUMBER, part_name CLOB, chargeable_yn CLOB, chargeable_amount CLOB, other_part_details CLOB)
CREATE TABLE skills (skill_id NUMBER, skill_code CLOB, skill_description CLOB)
CREATE TABLE maintenance_contracts (maintenance_contract_id NUMBER, maintenance_contract_company_id NUMBER, contract_start_date TIME, contract_end_date TIME, other_contract_details CLOB)
CREATE TABLE fault_log (fault_log_entry_id NUMBER, asset_id NUMBER, recorded_by_staff_id NUMBER, fault_log_entry_datetime TIME, fault_description CLOB, other_fault_details CLOB)
CREATE TABLE engineer_skills (engineer_id NUMBER, skill_id NUMBER)
CREATE TABLE engineer_visits (engineer_visit_id NUMBER, contact_staff_id NUMBER, engineer_id NUMBER, fault_log_entry_id NUMBER, fault_status CLOB, visit_start_datetime TIME, visit_end_datetime TIME, other_visit_details CLOB)
CREATE TABLE maintenance_engineers (engineer_id NUMBER, company_id NUMBER, first_name CLOB, last_name CLOB, other_details CLOB)

Among those engineers who have visited, which engineer makes the least number of visits? List the engineer id, first name and last name.
SELECT T1.engineer_id, T1.first_name, T1.last_name FROM maintenance_engineers AS T1 JOIN engineer_visits AS T2 ON T1.engineer_id = T2.engineer_id GROUP BY T1.engineer_id ORDER BY COUNT(*) LIMIT 1
SELECT "T1"."engineer_id", "T1"."first_name", "T1"."last_name" FROM "maintenance_engineers" "T1" JOIN "engineer_visits" "T2" ON "T1"."engineer_id" = "T2"."engineer_id" GROUP BY "T1"."engineer_id" ORDER BY COUNT(*) FETCH FIRST 1 ROWS ONLY