loading..
Русский    English
16:38
листать

Предикаты I стр. 2

Логические операторы при отсутствии скобок, как и арифметические операторы, выполняются в соответствии с их старшинством.

Одноместная операция NOT имеет наивысший приоритет. В этом легко убедиться, если выполнить следующие два запроса.

Консоль
Выполнить
  1. -- модели, не являющиеся ПК
  2. -- второй предикат ничего не меняет, т.к. он добавляет условие,
  3. -- уже учтенное в первом предикате
  4. SELECT maker, model, type
  5. FROM Product
  6. WHERE NOT type='PC' OR type='Printer';

Консоль
Выполнить
  1. -- модели производителя A, которые не являются ПК
  2. SELECT maker, model, type
  3. FROM Product
  4. WHERE NOT type='PC' AND maker='A';

Поменять порядок выполнения логических операторов можно при помощи скобок:

Консоль
Выполнить
  1. -- модели, не являющиеся ПК или принтером, т.е. модели ноутбуков в нашем случае
  2. SELECT maker, model, type
  3. FROM Product
  4. WHERE NOT (type='PC' OR type='Printer');

Консоль
Выполнить
  1. -- модели, которые не являются ПК, выпускаемыми производителем A
  2. SELECT maker, model, type
  3. FROM Product
  4. WHERE NOT (type='PC' AND maker='A');

Следующий приоритет имеет оператор AND. Сравните результаты следующих запросов.

Консоль
Выполнить
  1. -- модели ПК, выпускаемые производителем A, и любые модели производителя B
  2. SELECT maker, model, type
  3. FROM Product
  4. WHERE type='PC' AND maker='A' OR maker='B';

Консоль
Выполнить
  1. -- модели ПК, выпускаемые производителем A или производителем B
  2. SELECT maker, model, type
  3. FROM Product
  4. WHERE type='PC' AND (maker='A' OR maker='B');

Примечание:

Если вы не уверены, что точно помните порядок выполнения логических операторов, ставьте скобки.

Следующая страница

Bookmark and Share
Страницы: 1 2 3
Развернуть всё
Свернуть всё

Содержание:

Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FOREIGN KEY FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INFORMATION_SCHEMA INNER JOIN insert INTERSECT IS NOT NULL IS NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker Больше тэгов
Учебник обновлялся
месяц назад
https://exchangesumo.com/obmen/EURBKZT-BTC-sort . Установка междуэтажных перекрытий
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.