CREATE TABLE paperdataset (paperid NUMBER, datasetid NUMBER)
CREATE TABLE dataset (datasetid NUMBER, datasetname VARCHAR2)
CREATE TABLE paperkeyphrase (paperid NUMBER, keyphraseid NUMBER)
CREATE TABLE paper (paperid NUMBER, title VARCHAR2, venueid NUMBER, year NUMBER, numciting NUMBER, numcitedby NUMBER, journalid NUMBER)
CREATE TABLE paperfield (fieldid NUMBER, paperid NUMBER)
CREATE TABLE field (fieldid NUMBER)
CREATE TABLE venue (venueid NUMBER, venuename VARCHAR2)
CREATE TABLE cite (citingpaperid NUMBER, citedpaperid NUMBER)
CREATE TABLE author (authorid NUMBER, authorname VARCHAR2)
CREATE TABLE journal (journalid NUMBER, journalname VARCHAR2)
CREATE TABLE writes (paperid NUMBER, authorid NUMBER)
CREATE TABLE keyphrase (keyphraseid NUMBER, keyphrasename VARCHAR2)

Who writes a lot of papers in Machine Learning ?
SELECT DISTINCT author.authorname FROM author, keyphrase, paperkeyphrase, writes WHERE keyphrase.keyphrasename = 'Machine Learning' AND paperkeyphrase.keyphraseid = keyphrase.keyphraseid AND writes.authorid = author.authorid AND writes.paperid = paperkeyphrase.paperid GROUP BY author.authorname ORDER BY COUNT(DISTINCT writes.paperid) DESC
SELECT DISTINCT "author"."authorname" FROM "author" JOIN "keyphrase" ON "keyphrase"."keyphrasename" = 'Machine Learning' JOIN "paperkeyphrase" ON "keyphrase"."keyphraseid" = "paperkeyphrase"."keyphraseid" JOIN "writes" ON "author"."authorid" = "writes"."authorid" AND "paperkeyphrase"."paperid" = "writes"."paperid" GROUP BY "author"."authorname" ORDER BY COUNT(DISTINCT "writes"."paperid") DESC