Query data using OQL

Previous | Top | Next

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

Previous | Top | Next