Мартин грубер понимание sql перевод Лебедева В. Н. Под редакцией Булычева В. Н. Москва, 1993 martin gruber


SELECT * FROM Customers WHERE city = “San Jose” AND rating > 200


Download 1.45 Mb.
bet16/172
Sana26.01.2023
Hajmi1.45 Mb.
#1128343
1   ...   12   13   14   15   16   17   18   19   ...   172
Bog'liq
Грубер. Понимание SQL

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

Вывод для этого запроса показан на Рисунке 4.2. Имеется только один заказчик, который удовлетворяет этому условию.
=============== 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


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


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

Вывод для этого запроса показывается в Рисунке 4.3.
=============== 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


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 NOT rating > 200; |
| ============================================= |
| cnum 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 должен предшествовать Булеву оператору, чье значение должно измениться, и не должен помещаться перед реляционным оператором. Например неправильным вводом оценки предиката будет:

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   172




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling