Sql or and or: Combining the AND and OR Conditions
Содержание
Предикаты SQL AND и OR: примеры, синтаксис
Операторы SQL AND и SQL OR — предикаты языка SQL, служащие для создания логических выражений. В SQL предикатами называются операторы, возвращающие значения TRUE или FALSE. Предикат SQL AND — эквивалент логического умножения (конъюнкции), предикат SQL OR — эквивалент логического сложения (дизъюнкции).
Таблица истинности для предикатов следующая:
first_expression | last_expression | AND | OR |
TRUE | TRUE | TRUE | TRUE |
TRUE | FALSE | FALSE | TRUE |
FALSE | TRUE | FALSE | TRUE |
FALSE | FALSE | FALSE | FALSE |
Это значит, что, для выполнения условия предиката SQL AND должны быть выполнены оба условия. Для выполнения предиката SQL OR должно быть выполнено хотя бы одно условие.
Предикат SQL AND имеет следующий синтаксис:
boolean_expression AND boolean_expression
Предикат SQL OR имеет следующий синтаксис:
boolean_expression OR boolean_expression
Примеры оператора SQL AND & OR. Имеется следующая таблица Planets:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
2 | Saturn | 60268 | 10759.22 | — | Yes | — |
3 | Neptune | 24764 | 60190 | 1846 | Yes | John Couch Adams |
4 | Mercury | 2439 | 115.88 | 1631 | No | Nicolaus Copernicus |
5 | Venus | 6051 | 243 | 1610 | No | Galileo Galilei |
Пример 1. Используя операторы SQL AND и SQL OR вывести записи планет, у которых радиус планеты меньше 10000 и открытых (OpeningYear) после 1620:
SELECT * FROM Planets WHERE Radius < 10000 AND OpeningYear > 1620
Результат:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
4 | Mercury | 2439 | 115.88 | 1631 | No | Nicolaus Copernicus |
Пример 2. Используя операторы SQL AND и SQL OR вывести записи планет, названия которых начинаются с буквы «N» или заканчиваются на букву «s» и не имеющие колец:
SELECT * FROM Planets WHERE (PlanetName LIKE 'N%' OR PlanetName LIKE '%s') AND HavingRings = 'No'
Результат:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
5 | Venus | 6051 | 243 | 1610 | No | Galileo Galilei |
В этом примере используются как предикат SQL AND так и SQL OR. Конечно же, в запросах их можно использовать сколько угодно раз (так же как и скобки, которые их ограничивают), для задания более точного условия выборки.
SQL приоритет логических операторов: And и Or
Эквивалентны ли два приведенных ниже утверждения?
SELECT [...]
FROM [...]
WHERE some_col in (1,2,3,4,5) AND some_other_expr
и
SELECT [...]
FROM [...]
WHERE some_col in (1,2,3) or some_col in (4,5) AND some_other_expr
Есть ли какая-то таблица истинности, которую я мог бы использовать для проверки этого?
sql
logical-operators
operator-precedence
Поделиться
Источник
nc.
06 августа 2009 в 20:15
4 ответа
- SQL поиск с помощью логических операторов
У меня есть веб-приложение asp.net, которому нужна страница поиска, которая ищет данные в определенной таблице (SQL). Сегодня у него есть только простой запрос LIKE, использующий параметризованный sql: SqlParameter[] param = new SqlParameter[1]; param[0] = new SqlParameter(@searchText,…
- Приоритет логических операторов с NAND, NOR, XNOR
Я искал в интернете, но не нашел решения этой проблемы. Каков логический приоритет для операторов NAND , NOR и XNOR ? Я имею в виду, рассматривая в качестве примера выражение A AND B NAND C какой оператор должен быть оценен в первую очередь? Очевидно, что NAND можно перевести как NOT-AND (так как…
315
And
имеет приоритет над Or
, поэтому, даже если a <=> a1 Or a2
Where a And b
это не то же самое, что
Where a1 Or a2 And b,
потому что это будет выполнено как
Where a1 Or (a2 And b)
и то, что вы хотите, чтобы они были одинаковыми, заключается в следующем (использование скобок для переопределения правил приоритета):
Where (a1 Or a2) And b
Вот пример для иллюстрации:
Declare @x tinyInt = 1
Declare @y tinyInt = 0
Declare @z tinyInt = 0
Select Case When @x=1 OR @y=1 And @z=1 Then 'T' Else 'F' End -- outputs T
Select Case When (@x=1 OR @y=1) And @z=1 Then 'T' Else 'F' End -- outputs F
Для тех, кто любит обращаться к справочникам (в алфавитном порядке):
Поделиться
Charles Bretana
06 августа 2009 в 20:19
38
Я добавлю 2 балла:
- «IN» фактически является последовательным ORs с круглыми скобками вокруг них
- AND имеет приоритет над OR на всех языках, которые я знаю
Таким образом, 2 выражения просто не равны.
WHERE some_col in (1,2,3,4,5) AND some_other_expr
--to the optimiser is this
WHERE
(
some_col = 1 OR
some_col = 2 OR
some_col = 3 OR
some_col = 4 OR
some_col = 5
)
AND
some_other_expr
Итак, когда вы разбиваете предложение IN, вы разделяете последовательный ORs и меняете приоритет.
Поделиться
gbn
07 августа 2009 в 05:20
23
- Арифметические операторы
- Оператор конкатенации
- Условия сравнения
- IS [NOT] NULL, LIKE, [NOT] IN
- [NOT] BETWEEN
- Не равны
- NOT логическое условие
- AND логическое условие
- OR логическое условие
Вы можете использовать круглые скобки для переопределения правил приоритета.
Поделиться
Yassine Abdul-Rahman
27 марта 2014 в 22:49
- Приоритет Логических Операторов
Через таблицу приоритета операторов Java: Логический оператор ‘ / ‘OR имеет более высокий приоритет, чем логический оператор’ && ‘ AND. Я проверил вышеизложенный факт, используя следующий код int y = 5; int x = 2; if( x++ > 2 && ++y > 2 | true ) ; //do nothing…
- Логический AND и логический OR приоритет операторов
Логический AND && имеет более высокий приоритет, чем логический OR || . Это просто java код http://ideone.com/KWUOla import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { if( A() || B() && C()…
9
Запрос для отображения таблицы истинности логического выражения с 3 переменными :
;WITH cteData AS
(SELECT 0 AS A, 0 AS B, 0 AS C
UNION ALL SELECT 0,0,1
UNION ALL SELECT 0,1,0
UNION ALL SELECT 0,1,1
UNION ALL SELECT 1,0,0
UNION ALL SELECT 1,0,1
UNION ALL SELECT 1,1,0
UNION ALL SELECT 1,1,1
)
SELECT cteData.*,
CASE WHEN
(A=1) OR (B=1) AND (C=1)
THEN 'True' ELSE 'False' END AS Result
FROM cteData
Результаты за (A=1) OR (B=1) AND (C=1)
:
A B C Result
0 0 0 False
0 0 1 False
0 1 0 False
0 1 1 True
1 0 0 True
1 0 1 True
1 1 0 True
1 1 1 True
Результаты для (A=1) OR ( (B=1) AND (C=1) )
те же.
Результаты для ( (A=1) OR (B=1) ) AND (C=1)
:
A B C Result
0 0 0 False
0 0 1 False
0 1 0 False
0 1 1 True
1 0 0 False
1 0 1 True
1 1 0 False
1 1 1 True
Поделиться
AjV Jsy
18 июня 2015 в 14:29
Похожие вопросы:
Приоритет булевых операторов
Я хотел бы знать, зависит ли приоритет операторов в языках программирования от реализации или существует фиксированное правило, которому следуют все языки. И если возможно, не могли бы вы сначала…
математический VS приоритет логических операторов
почему в большинстве языков программирования приоритет математических операторов отличается от приоритета логических операторов? значение: почему x / y * z вычисляется до ( x / y ) * z , так что /…
В чем разница между короткими ( & ,|) и длинными ( & & ,||) формами логических операторов AND, OR в R?
Возможный Дубликат : R: subset() логический оператор-и для условий цепочки должен быть &, а не && В чем разница между короткими ( & , | ) и длинными ( && , || ) формами…
SQL поиск с помощью логических операторов
У меня есть веб-приложение asp.net, которому нужна страница поиска, которая ищет данные в определенной таблице (SQL). Сегодня у него есть только простой запрос LIKE, использующий параметризованный…
Приоритет логических операторов с NAND, NOR, XNOR
Я искал в интернете, но не нашел решения этой проблемы. Каков логический приоритет для операторов NAND , NOR и XNOR ? Я имею в виду, рассматривая в качестве примера выражение A AND B NAND C какой…
Приоритет Логических Операторов
Через таблицу приоритета операторов Java: Логический оператор ‘ / ‘OR имеет более высокий приоритет, чем логический оператор’ && ‘ AND. Я проверил вышеизложенный факт, используя следующий…
Логический AND и логический OR приоритет операторов
Логический AND && имеет более высокий приоритет, чем логический OR || . Это просто java код http://ideone.com/KWUOla import java.util.*; import java.lang.*; import java.io.*; class Ideone {…
Приоритет операторов|, ~ и&?
Я запутался в этих логических операторах. может ли кто-нибудь объяснить приоритет и ассоциативные правила этих операторов? в битовых операциях a=011, b=010 и c=001 в d следует ли сначала отрицать a…
Привязка логических операторов AND и OR в Python
Вчера при построении условного оператора я столкнулся с тем, что мне кажется странным правилом приоритета. Заявление, которое у меня было, было if not condition_1 or not condition_2 and not…
x86 процессор assembly язык AND и OR приоритет операторов
В настоящее время я изучаю язык assembly, следуя книге Кипа Ирвина Assembly language for x86 processor. В книге автор утверждал, что оператор NOT имеет наивысший приоритет, за ним следуют AND и OR Я…
Руководство по SQL. Связывающие условные операторы AND/OR. – PROSELYTE
Мы используем условные операторы AND/OR для комбинирования нескольких условий с целью получения более конкретной выборки данных. Данные операторы также называют связывающими.
Оператор AND
Оператор AND позволяет нам использовать несколько условий при запросах с использованием WHERE. В результате мы получаем только те записи, которые соответствуют всем указанным условиям.
Общий вид такого запроса имеет следующий вид:
SELECT колонка1, колонка2, колонкаN
FROM имя_таблицы
WHERE [условие1] AND [условие2]... AND [условиеN];
Пример:
Предположим, что у нас есть таблица developers, которая содержит следующие данные:
+----+-------------------+------------+------------+--------+
| ID | NAME | SPECIALTY | EXPERIENCE | SALARY |
+----+-------------------+------------+------------+--------+
| 1 | Eugene Suleimanov | Java | 2 | 2000 |
| 2 | Peter Romanenko | Java | 3 | 3500 |
| 3 | Andrei Komarov | JavaScript | 2 | 2100 |
| 4 | Konstantin Geiko | C# | 2 | 2000 |
| 5 | Asya Suleimanova | UI/UX | 2 | 1800 |
+----+-------------------+------------+------------+--------+
Допустим, нам необходимо получить всех Java разработчиков с зарплатой более 3000.
Для этого мы должны составить следующий запрос:
mysql> SELECT * FROM developers WHERE SPECIALTY LIKE 'java' AND SALARY > 3000;
В результате мы получим следующее:
+----+-----------------+-----------+------------+--------+
| ID | NAME | SPECIALTY | EXPERIENCE | SALARY |
+----+-----------------+-----------+------------+--------+
| 2 | Peter Romanenko | Java | 3 | 3500 |
+----+-----------------+-----------+------------+--------+
1 row in set (0.01 sec)
Оператор OR
Мы используем оператор OR для комбинирования нескольких условий в запросах, которые используют WHERE. В результате выполнения такого запроса мы получаем результаты, которые соответствуют хотя бы одному из указанных условий.
Общий вид таких запросов выглядит следующим образом:
SELECT колонка1, колонка2, колонкаN
FROM имя_таблицы
WHERE [условие1] OR [условие2]... OR [условиеN];
Пример:
Предположим, что у нас есть таблица developers, которая содержит следующие данные:
+----+-------------------+------------+------------+--------+
| ID | NAME | SPECIALTY | EXPERIENCE | SALARY |
+----+-------------------+------------+------------+--------+
| 1 | Eugene Suleimanov | Java | 2 | 2000 |
| 2 | Peter Romanenko | Java | 3 | 3500 |
| 3 | Andrei Komarov | JavaScript | 2 | 2100 |
| 4 | Konstantin Geiko | C# | 2 | 2000 |
| 5 | Asya Suleimanova | UI/UX | 2 | 1800 |
+----+-------------------+------------+------------+--------+
Теперь предположим, что нам необходимо получить разработчиков, чей опыт более 2 лет или зарплата более 2000.
Для этого нам необходимо использовать следующую команду:
SELECT *
FROM developers
WHERE EXPERIENCE > 2 OR SALARY > 2000;
В результате мы получим следующие записи:
+----+-----------------+------------+------------+--------+
| ID | NAME | SPECIALTY | EXPERIENCE | SALARY |
+----+-----------------+------------+------------+--------+
| 2 | Peter Romanenko | Java | 3 | 3500 |
| 3 | Andrei Komarov | JavaScript | 2 | 2100 |
+----+-----------------+------------+------------+--------+
На этом мы заканчиваем изучение связывающих условных операторов AND/OR.
В следующей статье мы рассмотрим способ изменения уже существующих данных.
SQL запросы быстро. Часть 1 / Хабр
Введение
Язык SQL очень прочно влился в жизнь бизнес-аналитиков и требования к кандидатам благодаря простоте, удобству и распространенности. Из собственного опыта могу сказать, что наиболее часто SQL используется для формирования выгрузок, витрин (с последующим построением отчетов на основе этих витрин) и администрирования баз данных. И поскольку повседневная работа аналитика неизбежно связана с выгрузками данных и витринами, навык написания SQL запросов может стать фактором, из-за которого кандидат или получит преимущество, или будет отсеян. Печальная новость в том, что не каждый может рассчитывать получить его на студенческой скамье. Хорошая новость в том, что в изучении SQL нет ничего сложного, это быстро, а синтаксис запросов прост и понятен. Особенно это касается тех, кому уже доводилось сталкиваться с более сложными языками.
Обучение SQL запросам я разделил на три части. Эта часть посвящена базовому синтаксису, который используется в 80-90% случаев. Следующие две части будут посвящены подзапросам, Join’ам и специальным операторам. Цель гайдов: быстро и на практике отработать синтаксис SQL, чтобы добавить его к арсеналу навыков.
Практика
Введение в синтаксис будет рассмотрено на примере открытой базы данных, предназначенной специально для практики SQL. Чтобы твое обучение прошло максимально эффективно, открой ссылку ниже в новой вкладке и сразу запускай приведенные примеры, это позволит тебе лучше закрепить материал и самостоятельно поработать с синтаксисом.
Кликнуть здесь
После перехода по ссылке можно будет увидеть сам редактор запросов и вывод данных в центральной части экрана, список таблиц базы данных находится в правой части.
Структура sql-запросов
Общая структура запроса выглядит следующим образом:
SELECT ('столбцы или * для выбора всех столбцов; обязательно')
FROM ('таблица; обязательно')
WHERE ('условие/фильтрация, например, city = 'Moscow'; необязательно')
GROUP BY ('столбец, по которому хотим сгруппировать данные; необязательно')
HAVING ('условие/фильтрация на уровне сгруппированных данных; необязательно')
ORDER BY ('столбец, по которому хотим отсортировать вывод; необязательно')
Разберем структуру. Для удобства текущий изучаемый элемент в запроса выделяется CAPS’ом.
SELECT, FROM
SELECT, FROM — обязательные элементы запроса, которые определяют выбранные столбцы, их порядок и источник данных.
Выбрать все (обозначается как *) из таблицы Customers:
SELECT * FROM Customers
Выбрать столбцы CustomerID, CustomerName из таблицы Customers:
SELECT CustomerID, CustomerName FROM Customers
WHERE
WHERE — необязательный элемент запроса, который используется, когда нужно отфильтровать данные по нужному условию. Очень часто внутри элемента where используются IN / NOT IN для фильтрации столбца по нескольким значениям, AND / OR для фильтрации таблицы по нескольким столбцам.
Фильтрация по одному условию и одному значению:
select * from Customers
WHERE City = 'London'
Фильтрация по одному условию и нескольким значениям с применением IN (включение) или NOT IN (исключение):
select * from Customers
where City IN ('London', 'Berlin')
select * from Customers
where City NOT IN ('Madrid', 'Berlin','Bern')
Фильтрация по нескольким условиям с применением AND (выполняются все условия) или OR (выполняется хотя бы одно условие) и нескольким значениям:
select * from Customers
where Country = 'Germany' AND City not in ('Berlin', 'Aachen') AND CustomerID > 15
select * from Customers
where City in ('London', 'Berlin') OR CustomerID > 4
GROUP BY
GROUP BY — необязательный элемент запроса, с помощью которого можно задать агрегацию по нужному столбцу (например, если нужно узнать какое количество клиентов живет в каждом из городов).
При использовании GROUP BY обязательно:
- перечень столбцов, по которым делается разрез, был одинаковым внутри SELECT и внутри GROUP BY,
- агрегатные функции (SUM, AVG, COUNT, MAX, MIN) должны быть также указаны внутри SELECT с указанием столбца, к которому такая функция применяется.
Группировка количества клиентов по городу:
select City, count(CustomerID) from Customers
GROUP BY City
Группировка количества клиентов по стране и городу:
select Country, City, count(CustomerID) from Customers
GROUP BY Country, City
Группировка продаж по ID товара с разными агрегатными функциями: количество заказов с данным товаром и количество проданных штук товара:
select ProductID, COUNT(OrderID), SUM(Quantity) from OrderDetails
GROUP BY ProductID
Группировка продаж с фильтрацией исходной таблицы. В данном случае на выходе будет таблица с количеством клиентов по городам Германии:
select City, count(CustomerID) from Customers
WHERE Country = 'Germany'
GROUP BY City
Переименование столбца с агрегацией с помощью оператора AS. По умолчанию название столбца с агрегацией равно примененной агрегатной функции, что далее может быть не очень удобно для восприятия.
select City, count(CustomerID) AS Number_of_clients from Customers
group by City
HAVING
HAVING — необязательный элемент запроса, который отвечает за фильтрацию на уровне сгруппированных данных (по сути, WHERE, но только на уровень выше).
Фильтрация агрегированной таблицы с количеством клиентов по городам, в данном случае оставляем в выгрузке только те города, в которых не менее 5 клиентов:
select City, count(CustomerID) from Customers
group by City
HAVING count(CustomerID) >= 5
В случае с переименованным столбцом внутри HAVING можно указать как и саму агрегирующую конструкцию count(CustomerID), так и новое название столбца number_of_clients:
select City, count(CustomerID) as number_of_clients from Customers
group by City
HAVING number_of_clients >= 5
Пример запроса, содержащего WHERE и HAVING. В данном запросе сначала фильтруется исходная таблица по пользователям, рассчитывается количество клиентов по городам и остаются только те города, где количество клиентов не менее 5:
select City, count(CustomerID) as number_of_clients from Customers
WHERE CustomerName not in ('Around the Horn','Drachenblut Delikatessend')
group by City
HAVING number_of_clients >= 5
ORDER BY
ORDER BY — необязательный элемент запроса, который отвечает за сортировку таблицы.
Простой пример сортировки по одному столбцу. В данном запросе осуществляется сортировка по городу, который указал клиент:
select * from Customers
ORDER BY City
Осуществлять сортировку можно и по нескольким столбцам, в этом случае сортировка происходит по порядку указанных столбцов:
select * from Customers
ORDER BY Country, City
По умолчанию сортировка происходит по возрастанию для чисел и в алфавитном порядке для текстовых значений. Если нужна обратная сортировка, то в конструкции ORDER BY после названия столбца надо добавить DESC:
select * from Customers
order by CustomerID DESC
Обратная сортировка по одному столбцу и сортировка по умолчанию по второму:
select * from Customers
order by Country DESC, City
JOIN
JOIN — необязательный элемент, используется для объединения таблиц по ключу, который присутствует в обеих таблицах. Перед ключом ставится оператор ON.
Запрос, в котором соединяем таблицы Order и Customer по ключу CustomerID, при этом перед названиям столбца ключа добавляется название таблицы через точку:
select * from Orders
JOIN Customers ON Orders.CustomerID = Customers.CustomerID
Нередко может возникать ситуация, когда надо промэппить одну таблицу значениями из другой. В зависимости от задачи, могут использоваться разные типы присоединений. INNER JOIN — пересечение, RIGHT/LEFT JOIN для мэппинга одной таблицы знаениями из другой,
select * from Orders
join Customers on Orders.CustomerID = Customers.CustomerID
where Customers.CustomerID >10
Внутри всего запроса JOIN встраивается после элемента from до элемента where, пример запроса:
Другие типы JOIN’ов можно увидеть на замечательной картинке ниже:
В следующей части подробнее поговорим о типах JOIN’ов и вложенных запросах.
При возникновении вопросов/пожеланий, всегда прошу обращаться!
SQL ГДЕ с И, ИЛИ, НЕ
И, ИЛИ, и НЕ объяснено
Условия WHERE можно комбинировать с AND, OR и NOT.
Эти логических условий всегда возвращают истину или ложь.
A WHERE с AND требует, чтобы выполнялись два условия.
Для WHERE с OR требуется, чтобы выполнялось одно из двух условий.
WHERE с NOT отменяет указанное условие.
Задача: Перечислить всех поставщиков в Париже, Франция.
скопировано в буфер обмена
ВЫБРАТЬ * ОТ поставщика ГДЕ Страна = 'Франция' И Город = 'Париж'
ВЫБРАТЬ *
ОТ поставщика
ГДЕ Страна = 'Франция' И Город = 'Париж'
Попробуйте вживую
Предложение WHERE с AND.
ВЫБЕРИТЕ имена столбцов ОТ имя-таблицы ГДЕ условие1 И условие2
Предложение WHERE с OR.
ОБНОВЛЕНИЕ имя-таблицы УСТАНОВИТЬ имя-столбца = значение ГДЕ условие1 ИЛИ условие2
Предложение WHERE с NOT.
УДАЛИТЬ имя-таблицы ГДЕ НЕ условие
SQL ГДЕ с И
КЛИЕНТ |
---|
Идентификатор |
Имя |
Фамилия |
Город |
Страна |
Телефон |
Задача: Найдите клиента по имени Томас Харди.
скопировано в буфер обмена
ВЫБЕРИТЕ Id, FirstName, LastName, City, Country ОТ Заказчика ГДЕ FirstName = 'Thomas' И LastName = 'Hardy'
ВЫБРАТЬ Id, FirstName, LastName, City, Country
ОТ Заказчика
ГДЕ FirstName = 'Thomas' И LastName = 'Hardy'
Попробуйте вживую
Результат: 1 запись.
Идентификатор | Имя | Фамилия | Город | Страна |
---|---|---|---|---|
4 | Томас | Харди | Лондон | Великобритания |
SQL ГДЕ с OR
КЛИЕНТ |
---|
Идентификатор |
Имя |
Фамилия |
Город |
Страна |
Телефон |
Задача : Составьте список всех клиентов из Испании или Франции.
скопировано в буфер обмена
ВЫБЕРИТЕ Id, FirstName, LastName, City, Country ОТ Заказчика ГДЕ Страна = "Испания" ИЛИ Страна = "Франция"
ВЫБРАТЬ Id, FirstName, LastName, City, Country
ОТ Заказчика
ГДЕ Страна = "Испания" ИЛИ Страна = "Франция"
Попробуйте вживую
Результат: 16 записей.
Идентификатор | Имя | Фамилия | Город | Страна |
---|---|---|---|---|
7 | Frédérique | Citeaux | Страсбург | Франция |
8 | Мартин | Sommer | Мадрид | Испания |
9 | Лоуренс | Lebihan | Марсель | Франция |
18 | Жанин | Лабрун | Нант | Франция |
22 | Диего | Роэль | Мадрид | Испания |
23 | Мартина | Рансе | Лилль | Франция |
SQL ГДЕ с НЕ
КЛИЕНТ |
---|
Идентификатор |
Имя |
Фамилия |
Город |
Страна |
Телефон |
Проблема : Перечислите всех клиентов не из США.
скопировано в буфер обмена
ВЫБЕРИТЕ Id, FirstName, LastName, City, Country ОТ Заказчика ГДЕ НЕ Страна = 'США'
ВЫБРАТЬ Id, FirstName, LastName, City, Country
ОТ Заказчика
ГДЕ НЕ Страна = 'США'
Попробуйте вживую
Результат: 78 записей.
Идентификатор | Имя | Фамилия | Город | Страна |
---|---|---|---|---|
1 | Мария | Андерс | Берлин | Германия |
2 | Ана | Трухильо | Мексика Д.F. | Мексика |
3 | Антонио | Морено | México D.F. | Мексика |
4 | Томас | Харди | Лондон | Великобритания |
5 | Кристина | Berglund | Лулео | Швеция |
6 | Ханна | Моос | Мангейм | Германия |
7 | Frédérique | Citeaux | Страсбург | Франция |
SQL ГДЕ с НЕ, И
ЗАКАЗ |
---|
Id |
OrderDate |
OrderNumber |
CustomerId |
TotalAmount |
Задача : Перечислите все заказы, которые не находятся в диапазоне от 50 до 15000 долларов.
скопировано в буфер обмена
ВЫБРАТЬ Id, OrderDate, CustomerId, TotalAmount ОТ [Заказ] ГДЕ НЕТ (TotalAmount> = 50 AND TotalAmount <= 15000) ЗАКАЗАТЬ ПО TotalAmount DESC
ВЫБРАТЬ Id, OrderDate, CustomerId, TotalAmount
ОТ [Заказ]
ГДЕ НЕТ (TotalAmount> = 50 AND TotalAmount <= 15000)
ЗАКАЗАТЬ ПО TotalAmount DESC
Попробуйте вживую
Результат: 16 записей.
Идентификатор | Дата заказа | CustomerId | Всего |
---|---|---|---|
618 | 02.02.2014 00:00:00 | 63 | 17250,00 |
783 | 17.04.2014 00:00:00 | 71 | 16321,90 |
734 | 27.03.2014 00:00:00 | 34 | 15810.00 |
175 | 22.01.2013 00:00:00 | 27 | 49,80 |
24 | 01.08.2012 00:00:00 | 75 | 48,00 |
SQL Server Операторы И & ИЛИ
В этом учебном курсе по SQL основное внимание уделяется логическим операторам И & ИЛИ SQL Server , а также приведены объяснения, примеры и упражнения.Для упражнений этого урока используйте эту ссылку.
Это руководство является частью нескольких сообщений, в которых объясняется, как использовать предложение WHERE в SQL Server. Чтобы прочитать дополнительные сообщения по этой теме, воспользуйтесь следующими ссылками:
SQL Server Операторы AND & OR
Назначение этих операторов SQL Server - разрешить фильтрацию на основе нескольких условий. Используя эти операторы, вы можете объединить результат двух (или более) условий для получения на их основе одного результата, например:
Имя сотрудника | Заработная плата | ID отдела |
Энн | 10000 | 90 |
Давид | 9000 | 80 |
Джон | 8000 | 70 |
Джордж | 7000 | 70 |
Роджер | 5000 | 70 |
Шон | 4000 | 40 |
SQL Server И оператор
И требует, чтобы выполнялись все условия.
ВЫБРАТЬ * ОТ сотрудников ГДЕ зарплата> 6000 И Department_id = 70
И указывает на то, что должны быть выполнены все условия - сотрудники, чья зарплата выше 6000, а номер отдела - 70.
Сотрудникам, отвечающим обоим этим условиям, являются: Джон и Джордж (всего 2 сотрудника).
SQL Server OR Оператор
ИЛИ требует, чтобы выполнялось любое из условий.
ВЫБРАТЬ * ОТ сотрудников ГДЕ зарплата> 6000 ИЛИ Department_id = 70
OR указывает, что должно быть выполнено хотя бы одно из условий - сотрудники, чья зарплата выше 6000 или чей номер отдела равен 70.
- Для Шона - ни одно из этих условий не выполнено.
- Для Роджера номер отдела 70 - выполняется одно условие.
- Для Джона и Джорджа зарплата выше 6000 и номер отдела 70 - оба условия соблюдены.
- Для Энн и Дэвида зарплата выше 6000 - выполняется одно условие.
5 сотрудников соответствуют хотя бы одному из этих условий.
Примечание:
Примечание: ключевое слово WHERE появляется только один раз.После оператора И или оператора ИЛИ укажите дополнительное условие без повторного указания ключевого слова WHERE.
ВЫБРАТЬ * ОТ сотрудников ГДЕ зарплата> 6000 ИЛИ ГДЕ Department_id = 70 -- (Ошибка) ВЫБРАТЬ * ОТ сотрудников ГДЕ зарплата> 6000 ИЛИ Department_id = 70 - Действительное заявление
Порядок старшинства
Оператор AND SQL Server имеет приоритет над оператором OR SQL Server (точно так же, как операция умножения имеет приоритет над операцией сложения).
Следующий оператор SQL Server SELECT используется для отображения сотрудников, которые:
(первое условие) иметь роль «DBA».
или:
(Второе условие) имеют роль «Менеджер» и , чья зарплата выше 8000.
ВЫБРАТЬ * ОТ сотрудников ГДЕ Job_Title = 'DBA' ИЛИ Job_Title = 'Менеджер' И зарплата> 8000
Изменение порядка приоритета
Для изменения порядка приоритетов операторов OR и AND в SQL Server требуются круглые скобки (точно так же, как круглые скобки изменяют порядок приоритетов между операциями математического сложения и умножения).
Следующий оператор SQL Server SELECT используется для отображения сотрудников, которые:
(первое условие) иметь роль «DBA» или , чья зарплата выше 8000.
и
(второе условие) иметь фамилию, содержащую букву «а».
ВЫБРАТЬ * ОТ сотрудников ГДЕ (Job_Title = 'DBA' ИЛИ Заработная плата> 8000) И Фамилия НРАВИТСЯ "% a%"
SQL: необходимо использовать круглые скобки с условием И / ИЛИ с предложением where, чтобы получить ожидаемый результат
Обязательны ли скобки в SQL: В этой статье будет объяснена разница между простым запросом на выборку SQL с использованием скобок и без скобок, и вы заметите разные результаты каждого запроса.Однажды мой младший задал мне один вопрос, почему я использую круглые скобки в большинстве своих SQL-запросов и действительно ли необходимо использовать круглые скобки. Тогда я подумал, почему бы не написать об этом пост, чтобы он помог другим.
Мой ответ был ДА, я использую круглые скобки для привязки компонентов предложений where, т. Е. Если запрос имеет несколько условий and or, то необходимо использовать круглые скобки для обеспечения правильного порядка операций. Короче говоря, для сложных запросов необходимо использовать круглые скобки, а для простых запросов вы можете избежать круглых скобок.
Посмотрим на примере
Пример 1: Простой запрос SQL с круглыми скобками или без них
- Простой запрос без скобок:
ВЫБРАТЬ *
ОТ сотрудника
ГДЕ Department_id = 1
Вот результат выполнения простого SQL-запроса:
- Простой запрос со скобками: Теперь мы пишем тот же запрос со скобками.
ВЫБРАТЬ *
ОТ сотрудника
ГДЕ (Department_id = 1)
Вот результат вышеприведенного запроса:
Как вы увидите, оба дают одинаковый результат.Здесь, в примере 1, это не повлияет на результат, поскольку это простой запрос. Теперь перейдем к примеру 2.
Также читайте: 1 лучший сценарий SQL для резервного копирования всех баз данных.
Пример 2: Сложный SQL-запрос с круглыми скобками или без них (с использованием и / или условием)
- Сложный SQL-запрос без скобок:
ВЫБРАТЬ *
ОТ сотрудника
ГДЕ Department_id = 1 ИЛИ Department_id = 2
И зарплата <3000
Вот результат:
SQL-запрос без скобок.
- Сложный SQL-запрос без скобок:
Теперь мы напишем тот же запрос со скобками, т.е. используя круглую скобку над условием и или.
ВЫБРАТЬ *
ОТ сотрудника
ГДЕ (идентификатор_отдела = 1 ИЛИ ид_отдела = 2)
И (зарплата <3000)
Вот результат вышеуказанного запроса:
Вы можете легко понять, что оба результата разные. Здесь, в примере 2, круглые скобки определяют порядок, в котором оцениваются условия И и ИЛИ, аналогично тому, что мы узнали в математическом порядке операций (BODMAS).
Круглые скобки указывают SQL Server игнорировать порядок оценки и сначала оценивать то, что указано в круглых скобках, а затем оценивать вторую часть предложения WHERE. Использование sql и / или запросов без круглых скобок дает неверную запись.
Также читайте: Как получить часть времени из Datetime на сервере MS SQL?
Другая справочная ссылка:
SQL условия И и ИЛИ | Решения для баз данных для Microsoft Access
SQL - несколько условий; с использованием условий И и ИЛИ:
В предыдущей статье, используя
Предложение WHERE с оператором SQL SELECT мы продемонстрировали, как
вы должны использовать предложение SQL WHERE для условного выбора данных из
таблица базы данных.Предложение WHERE может быть простым и использовать только
единичное условие (как в предыдущей статье),
или его можно использовать для включения нескольких условий поиска.
SQL позволяет нам комбинировать два или более простых условия с помощью
Операторы AND и OR или NOT. Любое количество простых условий может быть
присутствовать в одном операторе SQL, чтобы мы могли создавать сложные WHERE
предложения, которые позволяют нам контролировать, какие строки включаются в наш запрос
Результаты.
Мы будем использовать следующий синтаксис для выполнения запроса SQL SELECT с
несколько условий в предложении WHERE:
ВЫБРАТЬ список_столбцов FROM table_name WHERE column_name condition {[AND | OR} column_name condition}
Порядок приоритета логических операторов НЕ (наивысший),
за которым следует И, за которым следует ИЛИ. Порядок оценки при этом
уровень приоритета слева направо.Круглые скобки могут использоваться для
переопределить этот порядок в условии поиска.
Если мы включим в запрос несколько операторов, SQL Server оценит
их в следующем порядке:
- Круглые скобки - если вы группируете условные операторы SQL вместе
в скобках, SQL Server сначала оценивает их содержимое. - Арифметика - умножение (с использованием операторов *, / или%)
- Арифметика - сложение (с использованием операторов + или -)
- Другое - Конкатенатор строк (+)
- логический - НЕ
- логический - И
- логический - ИЛИ
Теперь давайте посмотрим несколько примеров использования нескольких условий для
предложение WHERE в операторе SQL SELECT.Мы будем использовать следующие
Таблица данных сотрудников:
EmpName | EmpAddress | EmpTown | Emp Почтовый индекс | EmpAge |
---|---|---|---|---|
Элейн Джонс | 1 Старая дорога | Манчестер | М27 1СН | 28 |
Дэвид Томас | Конец переулка, 245 | Линкольн | LN34 2-й | 41 |
Саймон Ли | Ластовый переулок, 9 ( | Уиган | WN3 0NR | 58 |
Лесли Уорд | 3 North End Road | Ноттингем | NG8 2LJ | 30 |
Гарри Уэбб | 1002 Trinity Road Sth | Суиндон | SN2 1JH | 22 |
Ронни Скотт | 1-й переулок (индекс | Ноттингем | NG25 9LK | 55 |
Джанет Фуллер | 14 Гаррет Хилл | Лондон | SW1 | 40 |
Салли Тиммингс | Пустота Эджхема | Лондон | WE3 | 24 |
Саймон Ли | Ластовый переулок, 9 ( | Уиган | WN3 0NR | 19 |
Использование условия SQL AND:
Используя оператор AND, запрос отобразит строку, если ALL
перечисленные условия верны.Если мы хотим найти сотрудников, которые
проживают в Лондоне И старше 30 лет, мы бы
используйте следующий оператор SQL:
ВЫБРАТЬ * ОТ tblEmployee ГДЕ EmpTown = 'London' И EmpAge> 30
Этот оператор вернет только один результат из нашей таблицы, который соответствует
оба из указанных условий:
EmpName | EmpAddress | EmpTown | Emp Почтовый индекс | EmpAge |
---|---|---|---|---|
Джанет Фуллер | 14 Гаррет Хилл | Лондон | SW1 | 40 |
Использование условия SQL OR:
Используя оператор OR, запрос отобразит строку, если ANY
перечисленных условий верны.Если мы хотим искать сотрудников
проживающие в Лондоне ИЛИ Сотрудники, проживающие в Суиндоне,
мы бы использовали следующий оператор SQL:
ВЫБРАТЬ * ОТ tblEmployee ГДЕ EmpTown = 'London' ИЛИ EmpTown = 'Swindon'
Этот оператор вернет три результата из нашей таблицы. Так и будет
вернуть тех Сотрудников, которые проживают в Лондоне ИЛИ живые
в Суиндоне:
EmpName | EmpAddress | EmpTown | Emp Почтовый индекс | EmpAge |
---|---|---|---|---|
Гарри Уэбб | 1002 Trinity Road Sth | Суиндон | SN2 1JH | 22 |
Джанет Фуллер | 14 Гаррет Хилл | Лондон | SW1 | 40 |
Салли Тиммингс | Пустота Эджхема | Лондон | WE3 | 24 |
Объединение SQL-условия AND и OR:
Мы также можем комбинировать условия И и ИЛИ, чтобы создать еще больше
сложные операторы SQL (вам может потребоваться использовать круглые скобки для формирования сложных
выражения).Считайте, что мы хотим найти всех сотрудников, которые живут
в Лондоне И старше 30 лет ИЛИ
Сотрудники, проживающие в Суиндоне, независимо от их возраста. Синтаксис
для этого оператора SQL с несколькими условиями хотел бы следующее:
ВЫБРАТЬ * ОТ tblEmployee ГДЕ (EmpTown = 'London' AND EmpAge> 30) OR EmpTown = 'Swindon'
На этот раз мы видим, что оператор вернет две записи; в
рекорд для Джанет Фуллер (которая живет в Лондоне И
чей возраст больше 30), а также рекорд для Гарри Веба, который
живет в Суиндоне.
EmpName | EmpAddress | EmpTown | Emp Почтовый индекс | EmpAge |
---|---|---|---|---|
Гарри Уэбб | 1002 Trinity Road Sth | Суиндон | SN2 1JH | 22 |
Джанет Фуллер | 14 Гаррет Хилл | Лондон | SW1 | 40 |
SQL-сервер оценивает условия, перед которыми используется логическое И.
оценивает те, которые используют логическое ИЛИ.Если вы хотите быть уверенным в
как SQL Server будет обрабатывать запросы к базе данных, содержащие несколько
операторы, вы всегда должны использовать круглые скобки.
SQL-оператор OR и его практическое использование
Резюме : в этом руководстве вы узнаете, как использовать SQL-оператор OR для объединения двух логических выражений.
Введение в SQL-оператор OR
SQL-оператор OR - это логический оператор, объединяющий два логических выражения.Оператор SQL OR возвращает истину или ложь в зависимости от результатов выражений.
Оператор OR обычно используется в предложении WHERE
операторов SELECT
, UPDATE
или DELETE
для формирования гибкого условия.
Ниже показан синтаксис оператора SQL OR:
SELECT column1, столбец2, ... ИЗ Таблица 1 КУДА выражение1 ИЛИ выражение2;
В следующей таблице показан результат оператора OR
при сравнении значений true, false и NULL.
ИСТИННО | ЛОЖНО | НУЛЬ | |||||||||
ИСТИННО | ИСТИННО | ИСТИННО ИСТИННО7 | ИСТИННО | ИСТИННО | ИСТИННО | ИСТИННОЕ | | ИСТИННОЕ | ИСТИННОЕ | NULL | |
NULL | TRUE | NULL | NULL |
Обратите внимание, что оператор OR всегда возвращает истину, если любое из выражений истинно.
Если система базы данных поддерживает функцию короткого замыкания, оператор OR
прекращает оценку оставшихся частей условия, как только одно выражение становится истинным.
Обратите внимание, что функция короткого замыкания помогает системе базы данных экономить вычисления ЦП, прерывая обработку оставшейся части логического выражения, как только она может определить результат. Дополнительные сведения о функции короткого замыкания см. В руководстве по оператору SQL AND.
Когда вы используете оператор OR с оператором AND, система базы данных оценивает оператор OR после оператора AND.Это известно как правило приоритета. Однако вы можете использовать круглые скобки, чтобы изменить порядок оценки.
Примеры оператора ИЛИ SQL
Мы будем использовать таблицу сотрудников
из образца базы данных для демонстрации оператора OR
.
Следующее утверждение находит всех сотрудников, которые присоединились к компании в 1997 или 1998 году.
SELECT имя, фамилия, Дата приема на работу ИЗ сотрудники КУДА ГОД (дата найма) = 1997 ИЛИ ГОД (дата найма) = 1998 год СОРТИРОВАТЬ ПО имя, фамилия;
Посмотреть в действии
Чтобы найти всех сотрудников, которые присоединились к компании в 1997 или 1997 годах и работали в отделе с идентификатором 3, вы используете операторов И
и OR
следующим образом:
SELECT имя, фамилия, Дата приема на работу, Department_id ИЗ сотрудники КУДА Department_id = 3 И ( ГОД (аренда_дата) = 1997 ИЛИ ГОД (аренда_дата) = 1998 ) СОРТИРОВАТЬ ПО имя, фамилия;
Посмотреть в действии
Если вы не используете круглые скобки, запрос будет извлекать сотрудников, которые присоединились к компании в 1997 году и работали в отделе с идентификатором 3, или сотрудников, которые присоединились к компании в 1998 году, независимо от отделов.
Это связано с тем, что система базы данных оценивает оператор OR
после оператора AND
.
Язык кода: SQL (язык структурированных запросов) (sql)
ВЫБРАТЬ имя, фамилия, Дата приема на работу, Department_id ИЗ сотрудники КУДА Department_id = 3 И ГОД (аренда_дата) = 1997 ИЛИ ГОД (аренда_дата) = 1998 СОРТИРОВАТЬ ПО имя, фамилия;
Посмотреть в действии
Если в запросе используется много операторов OR
, его будет трудно читать.Чтобы запрос был более читабельным, вместо него можно использовать оператор IN
.
Например, следующий запрос находит всех сотрудников, которые присоединились к компании в 1990, 1999 или 2000 годах.
Язык кода: SQL (язык структурированных запросов) (sql)
SELECT имя, фамилия, Дата приема на работу ИЗ сотрудники КУДА ГОД (Дата найма) = 2000 ИЛИ ГОД (аренда_дата) = 1999 ИЛИ ГОД (Дата найма) = 1990;
Посмотреть в действии
Операторы OR
можно заменить оператором IN
следующим образом:
Язык кода: SQL (язык структурированных запросов) (sql)
SELECT имя, фамилия, Дата приема на работу ИЗ сотрудники КУДА ГОД (аренда_дата) IN (1990, 1999, 2000) СОРТИРОВАТЬ ПО Дата приема на работу;
Посмотреть в действии
В этом руководстве вы узнали, как использовать оператор SQL OR
для объединения двух логических выражений для формирования гибкого условия .
Было ли это руководство полезным?
Оператор ИЛИ SQL Server на практических примерах
Резюме : в этом руководстве вы узнаете, как использовать оператор SQL Server OR
для объединения двух логических выражений.
Введение в SQL Server
Оператор OR
SQL Server OR
- это логический оператор, который позволяет комбинировать два логических выражения. Он возвращает ИСТИНА
, когда любое из условий оценивается как ИСТИНА
.
Ниже показан синтаксис оператора OR
:
Язык кода: SQL (язык структурированных запросов) (sql)
логическое_выражение ИЛИ логическое_выражение
В этом синтаксисе логическое_выражение
- это любое допустимое логическое выражение, которое принимает значения «истина», «ложь» или «неизвестно».
В следующей таблице показан результат оператора OR
при объединении TRUE
, FALSE
и UNKNOWN
:
TRUE | FALSE | UNKNOWN | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ИСТИНА | ИСТИНА | ИСТИНА | ИСТИНА | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ЛОЖЬ | ИСТИНА | ЛОЖЬ | НЕИЗВЕСТНО | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
НЕИЗВЕСТНО 9KB | ИСТИНА |
BookId | Имя книги | ЗаказатьЦена | RelYear | Имя домена | Имя автора |
---|---|---|---|---|---|
1 | Программирование с MySQL | 180 | 2011 | База данных | Деви Май |
2 | Microsoft SQL Server 2012 | 130 | 2006 | Безопасность | Ханумантан |
3 | Просто SQL | 100 | 2014 | Оптимизация | Дхаран |
4 | Перейти к началу страницы MySQL | 105 | 2014 | Администрация | Азагу Варшит |
5 | Параллелизм MySql | 168.27 | 2012 | Безопасность | Деви Май |
6 | Программирование SQL и проектирование баз данных | 99,99 | 2007 | База данных | Хариш Картик |
7 | Искусство SQL | 165 | 2009 | Производительность | Деви Май |
8 | Профессиональный Oracle | 178.69 | 2015 | Безопасность | Падмавати |
9 | Изучение Oracle SQL и Pl / sql | 155 | 2009 | База данных | Винот Кумар |
10 | Краткое руководство по SQL Visual | 84,22 | 2014 | Программирование | Шива Кумар |
11 | Новые возможности Oracle Database 11G | 190 | 2010 | Программирование | Хари Кришнан |
12 | Программирование с Oracle | 195 | 2010 | Программирование | Азагу Варшит |
Пример оператора SQL AND
Следующий оператор SQL SELECT выбирает все книги из доменного имени «База данных» И с ценой более 100 в таблице «Книги»:
ВЫБРАТЬ * ИЗ книг
КУДА
DomainName = «База данных» И BookPrice> 100;
Результат вышеуказанного запроса:
BookId | Имя книги | ЗаказатьЦена | RelYear | Имя домена | Имя автора |
---|---|---|---|---|---|
1 | Программирование с MySQL | 180 | 2011 | База данных | Деви Май |
9 | Изучение Oracle SQL и Pl / sql | 155 | 2009 | База данных | Винот Кумар |
Пример оператора ИЛИ SQL
Следующий оператор SQL SELECT выбирает все книги с именем автора «Азагу Варшит» ИЛИ «Падмавати» в таблице «Книги»:
ВЫБРАТЬ * ИЗ книг
КУДА
AuthorName = 'Азагу Варшит' ИЛИ AuthorName = 'Падмавати';
Результат вышеуказанного запроса:
BookId | Имя книги | ЗаказатьЦена | RelYear | Имя домена | Имя автора |
---|---|---|---|---|---|
4 | Перейти к началу страницы MySQL | 105 | 2014 | Администрация | Азагу Варшит |
8 | Профессиональный Oracle | 178.69 | 2015 | Безопасность | Падмавати |
12 | Программирование с Oracle | 195 | 2010 | Программирование | Азагу Варшит |
Пример объединения оператора И и ИЛИ SQL
Вы также можете комбинировать операторы И и ИЛИ, используя круглые скобки или круглые скобки, чтобы формировать сложные выражения.
Следующий оператор SQL выбирает все книги из года выпуска менее "170" И имя домена должно
быть равно "Программирование" ИЛИ "Безопасность" в таблице "Книги":
ВЫБРАТЬ * ИЗ книг
КУДА
ЗабронироватьЦена
Результат вышеуказанного запроса:
BookId | Имя книги | ЗаказатьЦена | RelYear | Имя домена | Имя автора |
---|---|---|---|---|---|
2 | Microsoft SQL Server 2012 | 130 | 2006 | Безопасность | Ханумантан |
5 | Параллелизм MySql | 168.27 | 2012 | Безопасность | Деви Май |
10 | Краткое руководство по SQL Visual | 84,22 | 2014 | Программирование | Шива Кумар |
Примечание: Не забудьте предоставить круглые скобки в зависимости от ваших требований.
Очень важно использовать круглые скобки или круглые скобки, чтобы ядро базы данных знало, в каком порядке выполнять каждое условие.
Если мы не предоставили круглые скобки, это изменит порядок выполнения условия.
ВЫБРАТЬ * ИЗ книг
КУДА
ЗабронироватьЦена
Результат вышеуказанного запроса:
BookId | Имя книги | ЗаказатьЦена | RelYear | Имя домена | Имя автора |
---|---|---|---|---|---|
2 | Microsoft SQL Server 2012 | 130 | 2006 | Безопасность | Ханумантан |
5 | Параллелизм MySql | 168. |