Чтение онлайн

на главную - закладки

Жанры

Понимание SQL

Грубер Мартин

Шрифт:

Значения сравниваемые здесь называются - скалярными значениями. Скалярные значения производяться скалярными выражениями; 1 + 2 - это скалярное выражение которое производит скалярное значение 3. Скалярное значение может быть символом или числом, хотя очевидно что только номера используются с арифметическими операторами, такими как +(плюс) или *(звезда).

Предикаты обычно сравнивают значения скалярных величин, используя или реляционные операторы или специальные операторы SQL чтобы увидеть верно ли это сравнение. Некоторые операторы SQL описаны в Главе 5.

Предположим что вы хотите увидеть всех заказчиков с оценкой(rating) выше 200. Так как 200 - это скалярное значение, как и значение в столбце оценки, для их сравнения вы можете использовать реляционный оператор.

SELECT *

FROM Customers

WHERE rating > 200;

Вывод

для этого запроса показывается в Таблице 4.1.

Конечно, если бы мы захотели увидеть еще и заказчиков с оценкой равной 200, мы стали бы использовать предикат

rating >=200

БУЛЕВЫ ОПЕРАТОРЫ

Основные Булевы операторы также распознаются в SQL. Выражения Буля - являются или верными или неверными, подобно предикатам. Булевы операторы связывают одно или более верных/неверных значений и производят едиственное верное/или/неверное значение. Стандартными операторами Буля распознаваемыми в SQL являются:

AND, OR, и NOT.

SQL Execution Log

SELECT * FROM Customers WHERE rating > 200;

snum

cname

city

rating

snum

2004

Crass

Berlin

300

1002

2008

Cirneros

San Jose

300

1007

Таблица 4.1: Использование больше чем (>)

Существуют другие, более сложные, операторы Буля (типа "исключенный или"), но они могут быть сформированы из этих трех простых операторов - AND, OR, NOT.

Как вы можете понять, Булева верня / неверная логика - основана на цифровой компьютерной операции; и фактически, весь SQL( или любой другой язык ) может быть сведен до уровня Булевой логики.

Операторы Буля и как они работают

* AND берет два Буля (в форме A AND B) как аргументы и оценивает их по отношению к истине, верны ли они оба.

* OR берет два Буля (в форме A OR B) как аргументы и оценивает на правильность, верен ли один из них.

* NOT берет одиночный Булев (в форме NOT A) как аргументы и заменяет его значение с неверного на верное или верное на неверное.

Связывая предикаты с операторами Буля, вы можете значительно увеличить их возможности. Предположим вы хотите видеть всех заказчиков в San Jose которые имеют оценку(рейтинг) выше 200:

SELECT *

FROM Customers

WHERE city=" San Jose'

AND rating > 200;

Вывод для этого запроса показан на Таблице 4.2. Имеется только один заказчик который удовлетворяет этому условию.

Если вы же используете OR вы получите всех заказчиков которые находились в San Jose или(OR) которые имели оценку выше 200.

SQL Execution Log

SELECT * FROM Customers WHERE city='San Jose' AND rating > 200;

сnum

cname

city

rating

snum

2008

Cirneros

San Jose

300

1007

Таблица 4.2: SELECT

использующий AND

SELECT *

FROM Customers

WHERE city=" San Jose'

OR rating > 200;

Вывод для этого запроса показывается в Таблице 4.3.

NOT может использоваться для инвертирования значений Буля. Имеется пример запроса с NOT:

SELECT *

FROM Customers

WHERE city=" San Jose'

OR NOT rating > 200;

Вывод этого запроса показывается в Таблице 4.4.

SQL Execution Log

SELECT * FROM Customers WHERE city='San Jose' OR rating > 200;

сnum

cname

city

rating

snum

2003

Liu

San Jose

200

1002

2004

Grass

Berlin

300

1002

2008

Cirneros

San Jose

300

1007

Рисунок 4.3: SELECT использующий OR

SQL Execution Log

SELECT * FROM Customers WHERE city='San Jose' OR NOT rating > 200;

сnum

cname

city

rating

snum

2001

Hoffman

London

100

1001

2002

Giovanni

Rome

200

1003

2003

Liu

San Jose

200

1002

2006

Clemens

London

100

1001

2008

Cirneros

San Jose

300

1007

2007

Pereira

Rome

100

1004

Поделиться:
Популярные книги

Москва. Путь к империи

Торопцев Александр Петрович
Научно-образовательная:
история
5.00
рейтинг книги
Москва. Путь к империи

Война и наказание: Как Россия уничтожала Украину

Зыгарь Михаил Викторович
Документальная литература:
прочая документальная литература
публицистика
5.00
рейтинг книги
Война и наказание: Как Россия уничтожала Украину

На границе империй. Том 4

INDIGO
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
На границе империй. Том 4

Седьмой Рубеж

Бор Жорж
1. 5000 лет темноты
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Седьмой Рубеж

Библиотека литературы США

Портер Кэтрин Энн
Проза:
современная проза
5.00
рейтинг книги
Библиотека литературы США

Гадюки в сиропе или Научи меня любить

Лоренс Тильда
Любовные романы:
современные любовные романы
7.33
рейтинг книги
Гадюки в сиропе или Научи меня любить

На Ларэде

Кронос Александр
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На Ларэде

Доктор. Заново

Афанасьев Семён
1. Доктор
Фантастика:
фэнтези
альтернативная история
5.86
рейтинг книги
Доктор. Заново

Королевские клетки

Ганин Илья Александрович
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Королевские клетки

Паладин из прошлого тысячелетия

Еслер Андрей
1. Соприкосновение миров
Фантастика:
боевая фантастика
попаданцы
6.67
рейтинг книги
Паладин из прошлого тысячелетия

Гримуар темного лорда VI

Грехов Тимофей
6. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.20
рейтинг книги
Гримуар темного лорда VI

Дневники

Мордвинов Николай Дмитриевич
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Дневники

Да, господин Премьер-министр. Из дневника достопочтенного Джеймса Хэкера

Линн Джонатан
Юмор:
юмористическая проза
6.25
рейтинг книги
Да, господин Премьер-министр. Из дневника достопочтенного Джеймса Хэкера

Легенды российских тамплиеров

Никитин Андрей Леонидович
Религия и эзотерика:
эзотерика
5.00
рейтинг книги
Легенды российских тамплиеров