Die Object Query Language (OQL) ist eine stark an SQL angelehnte Abfragesprache für Objektdatenbanken.

Die Sprache ist durch die Object Database Management Group (ODMG) standardisiert.

Trotz der engen Anlehnung an SQL ist die Sprache wegen ihres objektorientierten Ansatzes nicht damit zu verwechseln. OQL wurde entwickelt, um die Interaktion zwischen objektorientierten Programmen und einer Datenbank zu vereinfachen. Der klassische relationale Ansatz führt zu Brüchen in der Softwarearchitektur.

Zur Definition der Objekte in der Datenbank kann die Object Definition Language (ODL) genutzt werden.

Am einfachen Beispiel illustriert (Suche alle Studenten, die nicht zugleich auch Tutor sind):

SELECT student.name
FROM student in StudentTUM
WHERE not (student.name in SELECT tutor.name FROM tutor in TAs)
Bearbeiten