Query data using OQL
We show in this section how to query objects as defined in the ODL schema using the Object Query Language (OQL).
Looking for persons
select Student; select Teacher; select Person; select Student.firstname = "Francois"; select firstname + " " + lastname from Student where firstname = "Francois"; select Teacher.firstname = "Francois"; select Person.firstname = "Francois";
Looking for courses
select description from Course where title = "OODBMS"; select * from Course where title = "OODBMS";
Looking for Teacher teaching a given course
select x.teacher.firstname + " " + x.teacher.lastname from Course x where x.title = "OODBMS"; select (Course.title = "OODBMS").teacher.lastname;
Looking for courses teached by a given teacher
// Using Course class: select title from Course where teacher.lastname = "Dechelle"; // Using Teacher class: select x.courses[?].title from Teacher x where x.lastname = “Dechelle”;
Looking for courses learnt by a given student
// Using Student class: select s.courses[?].title from Student s where s.lastname = “Mulder”; select s.courses[?].title from Student s where s.lastname = “Mulder” and s.firstname = “Suzan”; // Using Course class: select c.title from Course c where c.students[?].lastname = “Mulder”; select c.title from Course c where c.students[?] = (select one s from Student s where s.lastname = “Mulder” and s.firstname = “Suzan”);
View the whole OQL file