Читаем SQL за 24 часа полностью

Теперь показаны цены для всех тех строк таблицы, для которых эти цены меньше 100.

UNIQUE

Ключевое слово UNIQUE используется для проверки строк заданной таблицы на уникальность (т. е. отсутствие повторений).

Пример_____________________________Значение____________

WHERE UNIQUE (SELECT SALARY Проверка SALARY на наличие повторе-

FROM EMPLOYEEJTBL ний

WHERE EMPLOYEE_ID = '333333333')

ALL И ANY

Ключевое слово ALL используется для сравнения заданного значения со всеми значениями из некоторой другой выборки значений.

Пример_____________________________Значение___________

WHERE SALARY > ALL (SELECT SALARY Проверка значения SALARY на предмет

FROM EMPLOYEE_TBL превышения им всех значений зарпла-

WHERE CITY - ' INDIANAPOLIS ' ) ты служащих из Индианаполиса

SELECT *

FROM PRODUCTS_TBL

WHERE COST > ALL ( SELECT COST

FROM PRODUCTS_TBL

WHERE COST < 10 );

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

90 ФОНАРИ 14.5

15 КОСТЮМЫ В АССОРТИМЕНТЕ 10

2345 ПОЛОЧКА ИЗ ДУБА 59.99

4 строки выбраны.

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

Ключевое слово ANY используется для сравнения заданного значения с любым из значений некоторой другой выборки значений.

Пример___________________________________Значение___________

WHERE SALARY > ANY (SELECT SALARY Проверка значения SALARY на Пред-

FROM EMPLOYEE_TBL мет превышения им какого-нибудь из

WHERE CITY = 'INDIANAPOLIS') значений зарплаты для служащих из

Индианаполиса

SELECT *

FROM PRODUCTS_TBL

WHERE COST > ANY ( SELECT COST

FROM PRODUCTS_TBL

WHERE COST < 10 );

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75

13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1

90 ФОНАРИ 14.5

15 КОСТЮМЫ В АССОРТИМЕНТЕ 10

9 СЛАДКАЯ КУКУРУЗА 1.35

6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45

119 МАСКИ В АССОРТИМЕНТЕ 4.95

1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95

2345 ПОЛОЧКА ИЗ ДУБА 59.99

10 строк выбраны.

Этот запрос возвращает больше строк, чем предыдущий запрос с использованием ALL, поскольку в данном случае стоимость должна превышать стоимость какого-нибудь товара стоимостью, меньшей 10. Единственной не показанной записью оказалась запись для товара стоимостью 1.05, для которого не нашлось товара с меньшей стоимостью из тех, что стоят меньше 10.

Операции конъюнкции и дизъюнкции

Как быть, если необходимо использовать несколько условий, чтобы сузить набор возвращаемых запросом данных? Нужно скомбинировать условия с помощью операций конъюнкции и дизъюнкции. Эти операции задаются с помощью ключевых слов AND и OR.

AND

Ключевое слово AND позволяет связать логическим умножением два условия в выражении ключевого слова WHERE. Чтобы оператор SQL, представляющий транзакцию или запрос, выполнил заданное действие, оба связанные ключевым словом AND условия должны возвратить TRUE.

Пример_________________________________Значение______________

WHERE EMPLOYEE_ID = '333333333' Значение EMPLOYEE_ID должно быть

AND SALARY = '20000' равным 333333333, а значение SALARY

должно быть равным 20000

SELECT *

FROM PROOCTS_TBL

WHERE COST > 10

AND COST < 30;

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

90 ФОНАРИ 14.5

2 строки выбраны.

В данном случае требуется, чтобы для показанных товаров стоимость была больше 10 и меньше 30.

SELECT *

FROM PRODUCTS_TBL

AND PROD_ID = '2345';

О строк выбраны.

Здесь вывод не содержит данных, поскольку каждая строка данных имеет только один код товара.

OR

Ключевое слово OR позволяет связать логическим сложением условия в выражении ключевого слова WHERE. Чтобы оператор SQL, представляющий транзакцию или запрос, выполнил заданное действие, хотя бы одно из связанных ключевым словом AND условий должно возвратить TRUE.

Пример______________________Значение___________________

WHERE SALARY = ' 20000 ' Значение SALARY должно быть равным ли-

OR SALARY = '30000' бо 20000, либо 30000

Операции сравнения и логические операции в выражениях могут использоваться самостоятельно или в комбинации с другими подобными операциями.

SELECT *

FROM PRODUCTS_TBL

WHERE PROD_ID = '7725'

OR PROD_ID = '2345';

PROD_ID PROD_DESC COST

2345 ПОЛОЧКА ИЗ ДУБА 59.99

1 строка выбрана.

В данном случае для внесения данных в результат запроса хотя бы одно из условий должно возвратить TRUE. Найдена одна подходящая запись.

При использовании в операторе SQL нескольких условий для зрительного разделения условий на логично связанные группы можно использовать круглые скобки, что существенно облегчает чтение и понимание оператора. Но не забывайте о том, что неправильно расставленные скобки могут привести к неверным результатам при выводе.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных