SQLсервер в Linux -самостоятельное освоение пакета

       

Группировка условий при помощи круглых скобок



Листинг 4.34. Группировка условий при помощи круглых скобок

booktown=# SELECT * FROM books

booktown-# WHERE author_id = 1866

booktown-# AND subject_id = 15

booktown-# OR subject_id = 3;

id | title | autho_id | subject_id

4513 | Dune | 1866 | 15

1234 | The Velveteen Rabbit | 25041 | 3

(2 rows)

booktown=# SELECT * FROM books

booktown-# WHERE author_id = 1866

booktown-# AND (subject_id = 15

booktown-# OR subject_id = 3);

id | title | author_id | subject_id

4513 | Dune | 1866 | 15

(1 row)

В этом примере продемонстрированы две попытки выборки из базы данных booktown записей, у которых поле author_id равно 1866. Кроме того, поле subject_id должно быть равно либо 15, либо 3. Как видно из результатов первой команды, при перечислении всех трех условий без круглых скобок команда интерпретируется неправильно. Добавление круглых скобок приводит к тому, что вычисления в скобках производятся до проверки внешних условий.



Содержание раздела