Логические операторы SQL
Логические Операторы
Логические операторы - это те, которые являются истинными или ложными. Они возвращают значения 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 | Название соболя. |
логический оператор | И, ИЛИ, НЕ и т. Д. |
арифметический оператор | Плюс (+), минус (-), умножить (*) и разделить (/). |
Содержание:
- И оператор
- Оператор ИЛИ
- НЕ оператор
- Использование нескольких операторов AND
- Использование оператора сравнения ИЛИ ИЛИ
- Использование оператора NOT AND
- Используя НЕ И оператор сравнения
- Использование нескольких операторов НЕ
- Использование нескольких НЕ с равным оператору
- Использование нескольких НЕ с оператором Не равно
- Использование оператора NOT AND OR
- Использование AND NOT OR с оператором Equal
- Использование И НЕ ИЛИ с оператором больше чем, меньше чем
- Использование AND ИЛИ NOT со значением даты
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
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущая:
href = "/ SQL / операторы сравнения / SQL-операторы сравнения"> Оператор сравнения
Далее: IN
Новый контент: Composer: менеджер зависимостей для PHP , R программирования