Re: Proper relational database?
От | Geoff Winkless |
---|---|
Тема | Re: Proper relational database? |
Дата | |
Msg-id | CAEzk6fcTC-MGmcG86ZRAfwuyy5X6uC8noDy1W+zAHE0RhLHtFw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Proper relational database? (Thomas Munro <thomas.munro@enterprisedb.com>) |
Ответы |
Re: Proper relational database?
|
Список | pgsql-general |
On 24 April 2016 at 08:36, Thomas Munro <thomas.munro@enterprisedb.com> wrote: > For example, say we want all students who have one or more exam today: > > SELECT s.student_id, s.name > FROM student s > WHERE EXISTS (SELECT 1 > FROM exam e > WHERE e.student_id = s.student_id > AND e.exam_date = CURRENT_DATE) To be fair to SQL a far simpler version would be SELECT DISTINCT student_id, name FROM student INNER JOIN exam USING(student_id) WHERE exam_date=CURRENT_DATE; To find students with no exam today (the other point of your argument): SELECT student_id, name FROM student LEFT JOIN exam USING(student_id) WHERE exam_date=CURRENT_DATE AND exam.student_id IS NULL; Not really sure what the issue is with either of those. Once learned, they're both very easy and straightforward. Geoff
В списке pgsql-general по дате отправления: