Abstract | This paper tells the story of OQL, the standard query language of the Object Database Management Group (ODMG) . The story starts in 1988, at INRIA in the Alta r Group y. The objective of that group was to develop an object-oriented database system . This objective was reached: in September 1991 the O2 database system started its commercial career as the main product of a company called O2Technology . As opposed to its competitors, O2 featured a full- edged query language named O2SQL . The story goes on with the creation of the ODMG in 1991 and the adoption of O2SQL as the standard object query language under its new and nal name: OQL. During the following years, OQL went through some modi cations, the most important ofwhich resulted in OQL 1.2 that o ers some level of compliance with SQL92. On top of providing the expressive power of the SQL92 query language , OQL allows objects to be queried. This is a claim also supported by the upcoming SQL3. However, due to its adequacy to the object oriented type system and its functional nature, OQL is much simpler to learn, use and implement. A goal of this paper is to demonstrate this. This paper tells about the mistakes and pertinent choices we made while designing and implementing OQL. I hope it also conveys the great pleasure I had to be part of this adventure. Key words: Object-oriented database, query language 1.