Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Оператор not

Таблицы, формируемые подзапросом | Представления | Gt; employee.lname, department.name dept_name | Блок where | Mysql> SELECT emp_id, fname, lname, start_date, title _> FROM employee | Блоки group by и having | Mysql> SELECT open_emp_id, product_cd _> FROM account | Сортировка по возрастанию и убыванию | Mysql> SELECT cust_id, cust_type_cd, city, state, fed_id _> FROM customer | Сортировка с помощью числовых заместителей |


Читайте также:
  1. Do оператор while (вираз);
  2. For (вираз1; вираз2; вираз3) оператор;
  3. If (вираз) оператор;
  4. Quot; Число, месяц, часы, минуты.Дежурство принял ДСП ……………..(подпись)Оператор ………………………..(подпись)Дежурство сдал ДСП ……………….(подпись)Оператор ………………………..(подпись)".
  5. Байланыс операторларының жедел-іздестіру қызметін жүзеге асыратын органдармен өзара
  6. Взаимодействия в группе операторов
  7. Властивості спряжених операторів.

 

Надеюсь, предыдущий пример с тремя условиями прост и понятен. Но рассмотрим следующий вариант:

 

WHERE end_date IS NULL

AND NOT (title = 'Teller' OR start_date < '2003_01_01')

 

Заметили отличие от предыдущего примера? После оператора and во второй строке появился оператор not. Теперь, вместо поиска неуволен_ ных сотрудников, или являющихся операционистами, или начавших работать в банке до 2003 года, выбираются неуволенные сотрудники, которые или не являются операционистами, или начали работу в бан_ ке в 2003 и позже. В табл. 4.3 показаны возможные результаты выпол_ нения этого примера.

 

Таблица 4.3. Результаты вычисления выражений с тремя условиями, разделенными операторами and, or и not

 

Промежуточный результат Конечный результат
   
WHERE true AND NOT (true OR true) False
WHERE true AND NOT (true OR false) False
WHERE true AND NOT (false OR true) False
WHERE true AND NOT (false OR false) True
WHERE false AND NOT (true OR true) False
WHERE false AND NOT (true OR false) False
   

 

Создание условия    
         
  Промежуточный результат   Конечный результат  
     
         
  WHERE false AND NOT (false OR true)   False  
  WHERE false AND NOT (false OR false)   False  
         

 

Сервер легко обработает такое выражение, а человеку оценить блок, включающий оператор not, обычно трудно. Вот почему он использует_ ся нечасто. В данном случае блок where можно изменить и записать без оператора not следующим образом:

 

WHERE end_date IS NULL

AND title!= 'Teller' AND start_date >= '2003_01_01'

 

Серверу наверняка все равно, а человеку, пожалуй, проще понять этот вариант блока where.

 


Дата добавления: 2015-08-17; просмотров: 49 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Оценка условия| Изменение данных с помощью условий равенства

mybiblioteka.su - 2015-2024 год. (0.005 сек.)