### Database Schema:
CREATE TABLE violations (
	business_id	INTEGER	NOT NULL,
	date	DATE	NOT NULL,
	violation_type_id	TEXT	NOT NULL,
	risk_category	TEXT	NOT NULL,
	description	TEXT	NOT NULL,
	foreign key (business_id) references businesses (business_id)
);

CREATE TABLE inspections (
	business_id	INTEGER	NOT NULL,
	score	INTEGER	NULL	DEFAULT NULL,
	date	DATE	NOT NULL,
	type	TEXT	NOT NULL,
	foreign key (business_id) references businesses (business_id)
);

CREATE TABLE businesses (
	business_id	INTEGER	NOT NULL	PRIMARY KEY,
	name	TEXT	NOT NULL,
	address	TEXT	NULL	DEFAULT NULL,
	city	TEXT	NULL	DEFAULT NULL,
	postal_code	TEXT	NULL	DEFAULT NULL,
	latitude	REAL	NULL	DEFAULT NULL,
	longitude	REAL	NULL	DEFAULT NULL,
	phone_number	INTEGER	NULL	DEFAULT NULL,
	tax_code	TEXT	NULL	DEFAULT NULL,
	business_certificate	INTEGER	NOT NULL,
	application_date	DATE	NULL	DEFAULT NULL,
	owner_name	TEXT	NOT NULL,
	owner_address	TEXT	NULL	DEFAULT NULL,
	owner_city	TEXT	NULL	DEFAULT NULL,
	owner_state	TEXT	NULL	DEFAULT NULL,
	owner_zip	TEXT	NULL	DEFAULT NULL
);

### User's Query:
Provide the name of the business which had the most number of inspections because of complaint.

### Extra Knowledge:
the most number of inspections because of complaint refers to type = 'Complaint' where MAX(business_id);
SELECT T2.name FROM inspections AS T1 INNER JOIN businesses AS T2 ON T1.business_id = T2.business_id WHERE T1.type = 'Complaint' GROUP BY T2.name ORDER BY COUNT(T1.business_id) DESC LIMIT 1