Мартин Грубер - Понимание SQL

Здесь есть возможность читать онлайн «Мартин Грубер - Понимание SQL» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Базы данных, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Понимание SQL: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Понимание SQL»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Данная книга является очень хорошим введением в теорию реляционных БД для пользователей-новичков, а также хорошим началом в освоении SQL, грамотном построение запросов, понимании того как эти запросы работают. Безусловно рекомендуется к прочтению для начинающих пользователей.

Понимание SQL — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Понимание SQL», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

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

Все записи за исключением Grass были выбраны. Grass не был в San Jose, и его оценка была больше чем 200, так что он потерпел неудачу при обеих проверках. В каждой из других строк встретился один или другой или оба критериев. Обратите внимание что оператор NOT должен предшествовать Булеву оператору, чье значение должно измениться, и не должен помещаться перед реляционным оператором. Например неправильным вводом оценки предиката будет:

rating NOT > 200

Он выдаст другую отметку. А как SQL оценит следующее?

SELECT *

FROM Customers

WHERE NOT city=" San Jose'

OR rating > 200;

NOT применяется здесь только к выражению city='SanJose', или к выражению rating > 200 тоже ? Как и написано, правильный ответ будет прежним. SQL может применять NOT с выражением Буля только сразу после него. Вы можете получить другой результат при команде:

SELECT *

FROM Customers

WHERE NOT( city=" San Jose'

OR rating > 200 );

Здесь SQL понимает круглые скобки как означающие, что все внутри них будет оцениваться первым и обрабатываться как единое выражение с помощью всего что снаружи них (это является стандартной интерпретацией математике). Другими словами, SQL берет каждую строку и определяет, соответствует ли истине равенство city =" San Jose' или равенство rating > 200. Если любое условие верно, выражение Буля внутри круглых скобок верно. Однако, если выражение Буля внутри круглых скобок верно, предикат как единое целое неверен, потому что NOT преобразует верно в неверно и наоборот.

Вывод для этого запроса - показывается в Рисунке 4.5. Имеется намеренно сложный пример. Посмотрим сможете ли вы проследить его логику (вывод показан в Рисунке 4.6 ):

SELECT *

FROM Orders

WHERE NOT ((odate=10/03/1990 AND snum >1002)

OR amt > 2000.00);

SQL Execution Log

SELECT * FROM Customers WHERE NOT

(city='San Jose' OR rating > 200);

сnum

cname

city

rating

snum

2001

Hoffman

London

100

1001

2002

Giovanni

Rome

200

1003

2006

Clemens

London

100

1001

2007

Pereira

Rome

100

1004

Рисунок 4.5: SELECT использующий NOT и вводное предложение

SQL Execution Log

SELECT * FROM Orders WHERE NOT

((odate=10/03/1990 AND snum > 1002)OR amt > 2000.00);

onum

amt

odate

cnum

snum

3003

767.19

10/03/1990

2001

1001

3009

1713.23

10/04/1990

2002

1003

3007

75.75

10/04/1990

2004

1002

3010

1309.95

10/06/1990

2004

1002

Рисунок 4.6: Полный (комплексный) запрос

Несмотря на то что Булевы опреаторы индивидуально просты, они не так просты когда комбинируются в комплексное выражение.

Способ оценки комплекса Булева состоит в том, чтобы оценивать Булевы выражения наиболее глубоко вложенные в круглых скобках, объединять их в единичное Булево значение, и затем объединять его с верхними значениями.

Имеется подробное объяснение того как пример выше был вычислен. Наиболее глубоко вложенные выражения Буля в предикате - это odate=10/03/1990 и snum > 1002 являются объединеными с помощью AND, формируя одно выражение Буля которое будет оценено как верное для всех строк в которых встретились оба эти условия. Это составное Булево выражение (которое мы будем называть Булево номер 1, или B1 для краткости) объдиняется с выражением (amt) > 2000.00 (B2) с помощью OR, формируя третье выражение (B3), которое является верным для данной строки, если или B1 или B2 - верны для этой строки.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Понимание SQL»

Представляем Вашему вниманию похожие книги на «Понимание SQL» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Понимание SQL»

Обсуждение, отзывы о книге «Понимание SQL» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x