double arrow

Отрицание условий с помощью операции отрицания


OR

AND

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

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

Ключевое слово 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

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

SELECT * FROM PRODUCTS_TBL WHERE PROD_ID = '7725' AND PROD_ID = '2345';

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

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

Ключевое слово 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

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

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

В следующем примере использовано одно ключевое слово AND и два OR. Обратите внимание на размещение скобок.

SELECT * FROM PRODUCTS_TBL WHERE COST >10 AND ( PROD_ID = '222' OR PROD_ID = '90' OR PROD_ID = '11235' ) ;

PROD_ID PROD_DESC COST

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

90 ФОНАРИ 14.5

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

Для всех выше рассмотренных типов операций можно построить их отрицания, чтобы таким образом рассмотреть противоположные условия.

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

  • NOT BETWEEN
  • IS NOT NULL
  • NOT IN
  • NOT EXISTS
  • NOT LIKE
  • NOT UNIIQUE

Все эти возможности будут рассмотрены в следующих разделах.


Сейчас читают про: