Source: https://cours.etsmtl.ca/log660/public_docs/acetates/LOG660-Acetates-LangageSQL_1pp.pdf