Я пытаюсь получить количество студентов, зачисленных на курсы, с помощью одного оператора SQL, но не используя подзапросы. Пока что я могу только понять, как это сделать, используя подзапросы. Есть ли другой способ?
Рассмотрим следующую настройку базы данных:
create table student (id integer not null primary key);
create table course_enrolment (student integer not null references student, course integer not null);
insert into student values (1);
insert into student values (2);
insert into student values (3);
insert into course_enrolment values (2,20);
insert into course_enrolment values (2,30);
insert into course_enrolment values (3,10);
Я хочу получить количество студентов, зачисленных на курсы. В данном случае это 2.
Я могу легко добиться этого, используя подзапросы:
ВЫБЕРИТЕ СЧЕТЧИК (*) ИЗ (ВЫБЕРИТЕ РАЗЛИЧНОГО СТУДЕНТА ИЗ КУРСА_ПРОТК) в качестве ДАННЫХ;
Я хочу получить счет без использования подзапроса.
Я использую Postgresql 8.3, но ищу решение, не зависящее от поставщика.