кодесурса
«SQL

Логические операторы SQL

script1adsense2code
script1adsense3code

Логические Операторы

Логические операторы - это те, которые являются истинными или ложными. Они возвращают значения true или false, чтобы объединить одно или несколько значений true или false.

Логические операторы:

оператор Описание
А ТАКЖЕ Логическое И сравнивает между двумя логическими значениями как выражение и возвращает истину, когда оба выражения истинны ...
ИЛИ ЖЕ Логическое ИЛИ сравнивает два логических выражения как выражение и возвращает истину, когда одно из выражений истинно ...
НЕ Not принимает один логический аргумент и изменяет его значение с false на true или с true на false ....
Специальные операторы
оператор Описание Работает на
В Оператор IN проверяет значение в наборе значений, разделенных запятыми, и извлекает строки из таблицы, которые соответствуют .... Любой набор значений одного и того же типа данных
МЕЖДУ Оператор SQL BETWEEN проверяет выражение в диапазоне. Диапазон состоит из начала, за которым следует ключевое слово AND и конечное выражение .... Числовые значения, символы или значения даты и времени
ЛЮБОЙ ЛЮБОЙ сравнивает значение с каждым значением в списке или результатами запроса и оценивается как true, если результат внутреннего запроса содержит хотя бы одну строку .... Значение списка или набора значений из одного столбца
ВСЕ ALL используется для выбора всех записей SELECT STATEMENT. Он сравнивает значение с каждым значением в списке или результатами запроса. ВСЕ должно предшествовать операторам сравнения и оценивается как ИСТИНА, если запрос не возвращает строк .... Значение списка или набора значений из одного столбца
НЕМНОГО НЕКОТОРЫЕ сравнивают значение с каждым значением в списке или результатами запроса и оценивают как истинное, если результат внутреннего запроса содержит хотя бы одну строку ... Значение списка или набора значений из одного столбца
СУЩЕСТВУЕТ EXISTS проверяет наличие результата подзапроса. Подзапрос EXISTS проверяет, получает ли подзапрос хотя бы одну строку. Если данные не возвращаются, тогда этот оператор возвращает FALSE ... Таблица

Синтаксис:

 SELECT [имя_столбца | * | выражение] [логический оператор]
[column_name | * | выражение .....]
ОТ <имя_таблицы>
ГДЕ <выражения> [логический оператор |
арифметический оператор | ...] <выражения>;

Параметры:

название Описание
column_name Имя столбца таблицы.
* Все столбцы таблицы.
выражение Выражение состоит из одной константы, переменной, скалярной функции или имени столбца и может также быть фрагментами запроса SQL, которые сравнивают значения с другими значениями или выполняют арифметические вычисления.
table_name Название соболя.
логический оператор И, ИЛИ, НЕ и т. Д.
арифметический оператор Плюс (+), минус (-), умножить (*) и разделить (/).

Содержание:

SQL логический оператор И

Логическое И сравнивает два логических значения в качестве выражения и возвращает ИСТИНА, если оба условия имеют ИСТИНА, и возвращает ЛОЖЬ, если любое из них ЛОЖЬ; в противном случае возвращает UNKNOWN (оператор, имеющий одно или два выражения NULL, возвращает UNKNOWN).

Пример:

Образец таблицы: клиент


Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. 'cust_country' должно быть 'UK',

2. и «оценка» «клиента» должна быть 2,

можно использовать следующий оператор SQL:

Код SQL:

SELECT  cust_code, cust_name,
cust_city,cust_country,grade
FROM customer
WHERE  cust_country  =  'UK' AND  grade  =  2;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------- -------------------- --------------------- -------------- -------------------- ----------
C00013 Холмс Лондон Великобритания 2
C00024 Кук Лондон Великобритания 2

SQL логический оператор ИЛИ

Логическое ИЛИ сравнивает два логических значения в качестве выражения и возвращает ИСТИНА, если любое из условий имеет значение ИСТИНА, и возвращает ЛОЖЬ, когда оба имеют значение ЛОЖЬ. в противном случае возвращает UNKNOWN (оператор, имеющий одно или два выражения NULL, возвращает UNKNOWN).

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' от 'customer' при следующих условиях -

1. либо cust_country - это США,

2. или «оценка» «клиента» равна 3,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code,cust_name,
cust_city,cust_country,grade
FROM customer
WHERE cust_country ='USA' OR grade = 3;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- ----------------- ------------------ ----------------- -------------------- ----------
C00001 Micheal Нью-Йорк США 2
C00020 Альберт Нью-Йорк США 3
C00002 Болт Нью-Йорк США 3
C00010 Чарльз Хэмпшир Великобритания 3
C00012 Стивен Сан-Хосе США 1
C00009 Рамеш Мумбаи Индия 3
C00011 Сундария Ченнаи Индия 3

SQL логический оператор NOT

Логическое НЕ принимает один логический аргумент и изменяет его значение с ложного на истинное или с истинного на ложное.

Пример:

Получить все столбцы из таблицы customer со следующим условием:

1. оценка для клиента не более 1,

можно использовать следующий оператор SQL:

Код SQL:

SELECT * FROM customer
WHERE NOT grade>1;

Выход:

 CUST_CODE CUST_NAME CUST_CITY WORKING_AREA CUST_COUNTRY GRADE 
--------------- --------------- --------------- ----- --------- -------------------- ---------- ---------
C00015 Стюарт Лондон Лондон Великобритания 1 .....
C00021 Домкраты Брисбан Брисбан Австралия 1 ....
C00019 Yearannaidu Ченнаи Ченнаи Индия 1 .....
C00005 Sasikant Мумбаи Мумбаи Индия 1 .....
C00007 Раманатан Ченнаи Ченнаи Индия 1 .....
C00004 Уинстон Брисбан Брисбан Австралия 1 .....
C00023 Карл Лондон Лондон Великобритания 0 .....
C00006 Шилтон Торенто Торенто Канада 1 .....
C00012 Стивен Сан-Хосе Сан-Хосе США 1 .....
C00008 Каролина Торенто Торенто Канада 1 .....

SQL Логический оператор множественного И

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

В следующем примере используется более одного оператора «И» вместе с SQL SELECT STATEMENT.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. 'cust_country' - это 'Великобритания',

2. и «cust_city» - это «Лондон»,

3.и «оценка» «клиента» должна быть больше 1,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code,cust_name,cust_city,cust_country,grade
    FROM customer
    WHERE cust_country='UK'
    AND cust_city='London' AND  grade>1;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00013 Холмс Лондон Великобритания 2
C00024 Кук Лондон Великобритания 2

Оператор сравнения логического И ИЛИ SQL

В следующей теме мы обсуждаем использование операторов «И» и «ИЛИ».

Используя оператор сравнения ИЛИ с оператором выбора, пример показал.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. «cust_country» - это «Великобритания» или cust_city - «Лондон»,

2. и «оценка» «клиента» должна отличаться от 3,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, cust_name, 
cust_city, cust_country, grade 
FROM customer 
WHERE (cust_country ='UK' 
OR cust_city ='London') 
AND grade <> 3;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00013 Холмс Лондон Великобритания 2
C00024 Кук Лондон Великобритания 2
C00015 Стюарт Лондон Великобритания 1
C00023 Карл Лондон Великобритания 0

SQL логический оператор NOT AND

В следующем примере используются операторы NOT, AND и SQL SELECT STATEMENT.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. 'cust_country' должно быть 'Индия',

2. и «оценка» «клиента» должна отличаться от 3,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, cust_name, 
cust_city, cust_country, grade 
FROM customer 
WHERE cust_country ='India' 
AND NOT grade = 3;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00025 Равиндран Бангалор Индия 2
C00017 Шринивас Бангалор Индия 2
C00014 Rangarappa Бангалор Индия 2
C00016 Venkatpati Бангалор Индия 2
C00019 Yearannaidu Ченнаи Индия 1
C00007 Раманатан Ченнаи Индия 1
C00005 Сасикант Мумбаи Индия 1
C00022 Avinash Мумбаи Индия 2

SQL логический оператор сравнения NOT AND

В следующем примере мы обсудим использование операторов сравнения NOT и AND вместе с SQL SELECT STATEMENT.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. 'cust_country' отличается от 'India',

2. и «оценка» «клиента» должна быть 3,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, cust_name, 
cust_city, cust_country, grade 
FROM customer 
WHERE NOT cust_country ='India' AND grade = 3;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00020 Альберт Нью-Йорк США 3
C00002 Болт Нью-Йорк США 3
C00010 Чарльз Хэмпшир Великобритания 3

SQL Логический множественный оператор НЕ

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

В следующем примере было использовано более одного оператора NOT с SQL SELECT STATEMENT.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. «cust_country» отличается от «Индии»,

2. и 'cust_city' должен отличаться от 'London',

3. и «оценка» «клиента» должна отличаться от 1,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, cust_name, 
cust_city, cust_country, grade 
FROM customer 
WHERE NOT cust_country ='India' 
AND NOT cust_city ='London' AND NOT grade = 1;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00001 Micheal Нью-Йорк США 2
C00020 Альберт Нью-Йорк США 3
C00002 Болт Нью-Йорк США 3
C00018 Флеминг Брисбан, Австралия 2
C00010 Чарльз Хэмпшир Великобритания 3
C00003 Мартин Торенто Канада 2

SQL Логическое кратное НЕ с оператором равно (=)

В следующем разделе мы обсуждаем использование множественного оператора NOT с оператором EQUAL TO .

В следующем примере использовалось более одного оператора Not и оператора сравнения, равного (=) с SQL SELECT STATEMENT.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. «cust_country» отличается от «Индии»,

2. и 'cust_city' должен отличаться от 'London',

3. и «оценка» «клиента» должна быть 1,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, cust_name, 
cust_city, cust_country, grade 
FROM customer 
WHERE NOT cust_country ='India' 
AND NOT cust_city ='London' AND grade = 1;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00021 Домкраты Брисбан Австралия 1
C00004 Уинстон Брисбан Австралия 1
C00006 Шилтон Торенто Канада 1
C00012 Стивен Сан-Хосе США 1
C00008 Каролина Торенто Канада 1

SQL Логическое кратное НЕ с не равным оператору

В следующем разделе мы обсуждаем использование нескольких операторов NOT с оператором NOT EQUAL TO.

В следующем примере используются оператор «НЕ» и оператор сравнения «не равно» (<>) вместе с SQL SELECT STATEMENT.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. 'cust_country' отличается от 'India', S

2. и 'cust_city' должен отличаться от 'London',

3. и «оценка» «клиента» должна быть не равна 1,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code,cust_name,
cust_city,cust_country,grade 
FROM customer
WHERE NOT cust_country='India'
AND NOT cust_city='London'
AND NOT grade<>1;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00021 Домкраты Брисбан Австралия 1
C00004 Уинстон Брисбан Австралия 1
C00006 Шилтон Торенто Канада 1
C00012 Стивен Сан-Хосе США 1
C00008 Каролина Торенто Канада 1

SQL логический оператор NOT AND OR

В примере используются операторы «НЕ» И «ИЛИ» вместе с SQL SELECT STATEMENT.

Пример - 1:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. «cust_country» не отличается от «UK»,

2. или «cust_city» должен отличаться от «Бангалор»,

3. и «оценка» «клиента» должна быть больше 1,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, 
cust_name, cust_city, cust_country, grade 
FROM customer 
WHERE NOT (cust_country ='UK' OR cust_city ='Bangalore') 
AND grade > 1;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00001 Micheal Нью-Йорк США 2
C00020 Альберт Нью-Йорк США 3
C00002 Болт Нью-Йорк США 3
C00018 Флеминг Брисбан, Австралия 2
C00022 Avinash Мумбаи Индия 2
C00003 Мартин Торенто Канада 2
C00009 Рамеш Мумбаи Индия 3
C00011 Сундария Ченнаи Индия 3

Пример - 2:

Чтобы получить данные данных всех 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. оценка равна 1 или 'agent_code' A003 не придет,

2. и «cust_country» это «Индия» не придет,

Здесь можно использовать оператор SQL:

Код SQL:

SELECT cust_code,cust_name,cust_city,cust_country,grade
FROM customer
WHERE NOT((grade=1 OR agent_code='A003')
AND cust_country='India');

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00013 Холмс Лондон Великобритания 2
C00001 Micheal Нью-Йорк США 2
C00020 Альберт Нью-Йорк США 3
C00025 Равиндран Бангалор Индия 2
C00024 Кук Лондон Великобритания 2
C00015 Стюарт Лондон Великобритания 1
C00002 Болт Нью-Йорк США 3
C00018 Флеминг Брисбан, Австралия 2
C00021 Домкраты Брисбан Австралия 1
C00022 Avinash Мумбаи Индия 2
C00004 Уинстон Брисбан Австралия 1
C00023 Карл Лондон Великобритания 0
C00006 Шилтон Торенто Канада 1
C00010 Чарльз Хэмпшир Великобритания 3
C00017 Сринивас Бангалор Индия 2
C00012 Стивен Сан-Хосе США 1
C00008 Каролина Торенто Канада 1
C00003 Мартин Торенто Канада 2
C00009 Рамеш Мумбаи Индия 3
C00014 Rangarappa Бангалор Индия 2
C00016 Venkatpati Бангалор Индия 2
C00011 Сундария Ченнаи Индия 3

SQL логический И НЕ ИЛИ С оператором EQUAL TO (=)

В следующем разделе мы обсуждаем использование логического И, НЕ, ИЛИ и оператора сравнения EQUAL TO (=) в операторе выбора.

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. «cust_country» не отличается от «UK»,

2. или «cust_city» должен быть не чем иным, как «Бангалор»,

3. и «оценка» «клиента» должна быть больше 1 и отлична от 3,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, cust_name, 
cust_city, cust_country, grade 
FROM customer 
WHERE NOT (cust_country ='UK' OR cust_city ='Bangalore') 
AND grade > 1 AND NOT grade = 3;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
--------------- --------------- --------------- ----- --------------- ----------
C00001 Micheal Нью-Йорк США 2
C00018 Флеминг Брисбан, Австралия 2
C00022 Avinash Мумбаи Индия 2
C00003 Мартин Торенто Канада 2

SQL логический, а не ИЛИ с оператором МЕНЬШЕ, БОЛЬШЕ, чем

В следующем разделе мы обсуждаем использование логического оператора И НЕ ИЛИ с оператором LESS THAN (<) GREATER THAN (>).

Пример:

Чтобы получить данные 'cust_code', 'cust_name', 'cust_city', 'cust_country' и 'grade' из таблицы 'customer' при следующих условиях -

1. «cust_country» не отличается от «UK»,

2. или «cust_city» должен быть не чем иным, как «Бангалор»,

3. и «оценка» клиента должна быть в диапазоне от 1 до 3,

можно использовать следующий оператор SQL:

Код SQL:

SELECT cust_code, cust_name, cust_city, 
cust_country, grade 
FROM customer 
WHERE NOT (cust_country ='UK' OR cust_city ='Bangalore') 
AND grade > 1 and grade < 3;

Выход:

 CUST_CODE CUST_NAME CUST_CITY CUST_COUNTRY GRADE
---------- ----------------- ------------------ ----- ----------- ------------
C00001 Micheal Нью-Йорк США 2
C00018 Флеминг Брисбан, Австралия 2
C00022 Avinash Мумбаи Индия 2
C00003 Мартин Торенто Канада 2

SQL логический ИЛИ НЕ со значением даты

В следующем разделе мы обсуждаем использование трех операторов «И», «ИЛИ» и «НЕ» со значением даты.

Используя AND, OR, NOT и оператор сравнения с оператором select, пример показал

Пример - 1:

Пример таблицы: заказы


Чтобы получить данные 'ord_num', 'ord_amount', 'advance_amount', 'ord_date', 'cust_code', 'agent_code' из таблицы 'orders' при следующих условиях -

1. сочетание 'ord_date' равно '20 -Jul-08 'и' ord_num 'больше, чем 200120, не появится,

2. или значение ord_amount должно быть больше или равно 4000,

можно использовать следующий оператор SQL:

Код SQL:

SELECT ord_num, ord_amount, advance_amount, 
ord_date, cust_code, agent_code 
FROM orders 
WHERE NOT ((ord_date ='20-Jul-08' AND ord_num > 200120) 
OR ord_amount < 4000);

Выход:

 ORD_NUM ORD_AMOUNT ADVANCE_AMOUNT ORD_DATE CUST_CODE AGENT_CODE
---------- ---------- -------------- --------- ------- --- ----------
    200119 4000 700 16-сен-08 C00007 A010
    200134 4200 1800 25-SEP-08 C00004 A005
    200108 4000 600 15-FEB-08 C00008 A004
    200107 4500 900 30-AUG-08 C00007 A010
    200113 4000 600 10-ИЮНЬ-08 C00022 A002

Пример - 2:

Чтобы получить данные 'ord_num', 'ord_amount', 'advance_amount', 'ord_date', 'cust_code', 'agent_code' из таблицы 'orders' при следующих условиях -

1. «ord_amount» будет ниже 1000,

2. комбинация и ord_date '20 -Jul-08 'и ord_num больше 200108 не появится

можно использовать следующий оператор SQL:

Код SQL:

SELECT ord_num,ord_amount,advance_amount,ord_date, 
cust_code,agent_code 
FROM orders
WHERE(ord_amount<1000 AND NOT(ord_date='20-Jul-08' 
AND ord_num>200108));

Выход:

 ORD_NUM ORD_AMOUNT ADVANCE_AMOUNT ORD_DATE CUST_CODE AGENT_CODE
---------- ---------- -------------- --------- ------- --- ----------
    200117 800 200 20-ОКТ-08 C00014 A001
    200123 500 100 16-SEP-08 C00022 A002
    200116 500 100 13-ИЮЛЬ-08 C00010 A009
    200124 500 100 20-ИЮНЬ-08 C00017 A007
    200126 500 100 24-ИЮНЬ-08 C00022 A002
    200131 900 150 26-AUG-08 C00012 A012

Смотрите нашу базу данных моделей ;

Упражнения по SQL

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущая: href = "/ SQL / операторы сравнения / SQL-операторы сравнения"> Оператор сравнения
Далее: IN

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code