Сложные критерии отбора



С помощью секции WHERE можно не только связывать таблицы, но и создавать сложные критерии отбора данных. Для этого в секции указывается произвольное количе­ство операторов вида ПОЛЕ ~ ЗНАЧЕНИЕ, связываемых логическими операциями NOT, AND, OR, где знак тильда (~) означает операцию отношения:

SELECT

NaklID, NDate, FName, TName, NSum, NPayedSum, NRetSum, NCoeff, NRetDate

FROM Nakls, Firms, TypeNakl

WHERE FirmID=NFirm AND TypeID=NType AND (NSum>100000 OR NRetSum>0)

ORDER BY NaklID

В этом примере отбираются только те накладные, сумма которых превышает 100000 рублей или в которых ненулевая сумма возврата.

Приоритет операций отношения в SQL выше приоритета логических операций. Операция OR имеет меньший приоритет, чем операция AND.

Справа от операции отношения указывается значение. Если это значение – тексто­вое или типа дата-время, оно должно заключаться в апострофы или кавычки. Кроме того, к значению текстового поля можно применять операцию LIKE. Тогда значение справа от LIKE представляет не все поле, а лишь его часть:

SELECT BName FROM Books

WHERE BName LIKE ″Я%″

ORDER BY BName

Этот запрос отбирает из таблицы Books названия книг, которые начина­ются с буквы «Я».

Cимвол процента (%) указывает, что на его месте могут стоять любые символы.

Следующий запрос отберет все книги, в названиях которых хотя бы раз встреча­ется буква «я»:

SELECT BName FROM Books

WHERE BName LIKE "%я%"

ORDER BY BName

С помощью зарезервированного слова IN (в [диапазоне]) можно перечислить несколько допустимых значений поля. Следующий запрос отбирает названия 1-й, 3-й и 7-й книг из таблицы Books:

SELECT BName FROM Books

WHERE BookID IN (1, 3, 7)

Вместо перечня допустимых значений в круглых скобках после операции IN можно разместить вложенный оператор SELECT. Если требуется посмотреть список всех покупателей, еще не оплативших поставленные им книги, можно сформировать такой запрос:

SELECT FName FROM Firms

WHERE FirmID IN

(SELECT NFirm FROM Nakls

WHERE NPayedSum=0 AND NType IN (1, 7))

ORDER BY FName


Дата добавления: 2015-12-17; просмотров: 14; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!