Source: http://www.csc.villanova.edu/~mdamian/Past/databasefa11/notes/ch07-AdvancedSQL.pdf