Database schema:

CREATE TABLE bool (
	name TEXT DEFAULT '' NOT NULL -- example: ['neg', 'pos'],
	PRIMARY KEY (name)
)


CREATE TABLE disabled (
	name TEXT DEFAULT '' NOT NULL -- example: ['student114', 'student125'],
	PRIMARY KEY (name), 
	CONSTRAINT fk_disabled_person FOREIGN KEY(name) REFERENCES person (name)
)


CREATE TABLE enlist (
	name TEXT NOT NULL -- example: ['student51', 'student40'],
	organ TEXT NOT NULL -- example: ['fire_department', 'air_force'],
	CONSTRAINT fk_enlist_person FOREIGN KEY(name) REFERENCES person (name)
)


CREATE TABLE enrolled (
	name TEXT NOT NULL -- example: ['student1', 'student10'],
	school TEXT NOT NULL -- example: ['smc', 'occ'],
	month INTEGER DEFAULT 0 NOT NULL -- example: ['2', '1'],
	PRIMARY KEY (name, school), 
	CONSTRAINT fk_enrolled_person FOREIGN KEY(name) REFERENCES person (name)
)


CREATE TABLE filed_for_bankrupcy (
	name TEXT DEFAULT '' NOT NULL -- example: ['student126', 'student122'],
	PRIMARY KEY (name), 
	CONSTRAINT fk_filed_for_bankrupcy_person FOREIGN KEY(name) REFERENCES person (name)
)


CREATE TABLE longest_absense_from_school (
	name TEXT DEFAULT '' NOT NULL -- example: ['student1', 'student10'],
	month INTEGER DEFAULT 0 -- example: ['0', '1'],
	PRIMARY KEY (name), 
	CONSTRAINT fk_longest_absense_from_school_person FOREIGN KEY(name) REFERENCES person (name)
)


CREATE TABLE male (
	name TEXT DEFAULT '' NOT NULL -- example: ['student1', 'student101'],
	PRIMARY KEY (name), 
	CONSTRAINT fk_male_person FOREIGN KEY(name) REFERENCES person (name)
)


CREATE TABLE no_payment_due (
	name TEXT DEFAULT '' NOT NULL -- example: ['student1', 'student10'],
	bool TEXT -- example: ['neg', 'pos'],
	PRIMARY KEY (name), 
	CONSTRAINT fk_no_payment_due_person FOREIGN KEY(name) REFERENCES person (name),
	CONSTRAINT fk_no_payment_due_bool FOREIGN KEY(bool) REFERENCES bool (name)
)


CREATE TABLE person (
	name TEXT DEFAULT '' NOT NULL -- example: ['student1', 'student10'],
	PRIMARY KEY (name)
)


CREATE TABLE unemployed (
	name TEXT DEFAULT '' NOT NULL -- example: ['student102', 'student1000'],
	PRIMARY KEY (name), 
	CONSTRAINT fk_unemployed_person FOREIGN KEY(name) REFERENCES person (name)
)

Question: Find the percentage of male students enlisted in the fire department.
Evidence: percentage refers to DIVIDE(COUNT(organ = 'fire_department'), COUNT(name))

SQL:
SELECT CAST(COUNT(T2.name) AS REAL) * 100 / COUNT(T1.name) FROM enlist AS T1 LEFT JOIN male AS T2 ON T1.name = T2.name WHERE T1.organ = 'fire_department'