Database schema:

CREATE TABLE actors (
	actorid INTEGER NOT NULL -- example: ['16', '4'],
	a_gender TEXT NOT NULL -- example: ['M', 'F'],
	a_quality INTEGER NOT NULL -- example: ['0', '4'],
	PRIMARY KEY (actorid)
)


CREATE TABLE directors (
	directorid INTEGER NOT NULL -- example: ['7387', '12945'],
	d_quality INTEGER NOT NULL -- example: ['0', '1'],
	avg_revenue INTEGER NOT NULL -- example: ['0', '1'],
	PRIMARY KEY (directorid)
)


CREATE TABLE movies (
	movieid INTEGER DEFAULT 0 NOT NULL -- example: ['1672052', '1672111'],
	year INTEGER NOT NULL -- example: ['4', '3'],
	"isEnglish" TEXT NOT NULL -- example: ['F', 'T'],
	country TEXT NOT NULL -- example: ['other', 'USA'],
	runningtime INTEGER NOT NULL -- example: ['2', '3'],
	PRIMARY KEY (movieid)
)


CREATE TABLE movies2actors (
	movieid INTEGER NOT NULL -- example: ['1672052', '1672111'],
	actorid INTEGER NOT NULL -- example: ['88796', '88848'],
	cast_num INTEGER NOT NULL -- example: ['0', '1'],
	PRIMARY KEY (movieid, actorid), 
	CONSTRAINT fk_movies2actors_actors FOREIGN KEY(actorid) REFERENCES actors (actorid),
	CONSTRAINT fk_movies2actors_movies FOREIGN KEY(movieid) REFERENCES movies (movieid)
)


CREATE TABLE movies2directors (
	movieid INTEGER NOT NULL -- example: ['1672052', '1672111'],
	directorid INTEGER NOT NULL -- example: ['54934', '22397'],
	genre TEXT NOT NULL -- example: ['Adventure', 'Action'],
	PRIMARY KEY (movieid, directorid), 
	CONSTRAINT fk_movies2directors_directors FOREIGN KEY(directorid) REFERENCES directors (directorid),
	CONSTRAINT fk_movies2directors_movies FOREIGN KEY(movieid) REFERENCES movies (movieid)
)


CREATE TABLE u2base (
	userid INTEGER DEFAULT 0 NOT NULL -- example: ['2', '1'],
	movieid INTEGER NOT NULL -- example: ['1684486', '1685309'],
	rating TEXT NOT NULL -- example: ['2', '1'],
	PRIMARY KEY (userid, movieid), 
	CONSTRAINT fk_u2base_movies FOREIGN KEY(movieid) REFERENCES movies (movieid),
	CONSTRAINT fk_u2base_users FOREIGN KEY(userid) REFERENCES users (userid)
)


CREATE TABLE users (
	userid INTEGER DEFAULT 0 NOT NULL -- example: ['2', '1'],
	age TEXT NOT NULL -- example: ['1', '56'],
	u_gender TEXT NOT NULL -- example: ['M', 'F'],
	occupation TEXT NOT NULL -- example: ['2', '3'],
	PRIMARY KEY (userid)
)

Question: Among the English comedy movies produced in the UK, how many movies with a running time of 3 was rated the highest by users between the age 45-50? Indicate the movie names.
Evidence: UK is a country

SQL:
SELECT DISTINCT T1.movieid FROM movies AS T1 INNER JOIN movies2directors AS T2 ON T1.movieid = T2.movieid INNER JOIN u2base AS T3 ON T1.movieid = T3.movieid INNER JOIN users AS T4 ON T3.userid = T4.userid WHERE T1.country = 'UK' AND T2.genre = 'Comedy' AND T1.runningtime = 3 AND T3.rating = 5 AND T4.age BETWEEN 45 AND 50 AND T1.isEnglish = 'T'