Kniga-Online.club

W Cat - SQL за 24 часа

Читать бесплатно W Cat - SQL за 24 часа. Жанр: Базы данных издательство неизвестно, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

FROM PRODUCTS_TBL

AND PROD_ID = '2345';

О строк выбраны.

Здесь вывод не содержит данных, поскольку каждая строка данных имеет только один код товара.

OR

Ключевое слово OR позволяет связать логическим сложением условия в выражении ключевого слова WHERE. Чтобы оператор SQL, представляющий транзакцию или запрос, выполнил заданное действие, хотя бы одно из связанных ключевым словом AND условий должно возвратить TRUE.

Пример______________________Значение___________________

WHERE SALARY = ' 20000 ' Значение SALARY должно быть равным ли-

OR SALARY = '30000' бо 20000, либо 30000

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

SELECT *

FROM PRODUCTS_TBL

WHERE PROD_ID = '7725'

OR PROD_ID = '2345';

PROD_ID PROD_DESC COST

2345 ПОЛОЧКА ИЗ ДУБА 59.99

1 строка выбрана.

В данном случае для внесения данных в результат запроса хотя бы одно из условий должно возвратить TRUE. Найдена одна подходящая запись.

При использовании в операторе SQL нескольких условий для зрительного разделения условий на логично связанные группы можно использовать круглые скобки, что существенно облегчает чтение и понимание оператора. Но не забывайте о том, что неправильно расставленные скобки могут привести к неверным результатам при выводе.

В следующем примере использовано одно ключевое слово AND и два OR. Обратите внимание на размещение скобок.

SELECT *

FROM PRODUCTS_TBL

WHERE COST >10

AND ( PROD_ID = '222'

OR PROD_ID = '90'

OR PROD_ID = '11235' ) ;

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

90 ФОНАРИ 14.5

2 строки выбраны.

В этом примере стоимость должна превышать 10, а код товара должен быть любым из трех указанных. В вывод не попала строка для товара с кодом 222 из-за стоимости, которая оказалась не больше 10.

Отрицание условий с помощью операции отрицания

Для всех выше рассмотренных типов операций можно построить их отрицания, чтобы таким образом рассмотреть противоположные условия.

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

• NOT BETWEEN

• IS NOT NULL

• NOT IN

• NOT EXISTS

• NOT LIKE

• NOT UNIIQUE

Все эти возможности будут рассмотрены в следующих разделах.

Неравенство

Вы уже знаете о возможности проверки неравенства с помощью операции о. Неравенство упоминается здесь потому, что при проверке неравенства вы фактически отрицаете операцию проверки равенства. Вот другой метод представления операции проверки неравенства, доступный в некоторых реализациях SQL.

Пример_________________________Значение____________

WHERE SALARY о '20000' Зарплата не равна 20000

WHERE SALARY != '20000' Зарплата не равна 20000

Во втором случае для отрицания равенства используется восклицательный знак. В некоторых реализациях SQL в дополнение к стандартному знаку неравенства о используется восклицательный знак ! в совокупности со знаком = как отрицание равенства.

Проверьте по документации используемой вами реализации SQL, допускается ли в ней применение восклицательного знака для отрицания равенства.

NOT BETWEEN

Отрицание операции BETWEEN используется следующим образом.

Пример_____________________Значение___________________

WHERE SALARY NOT BETWEEN Зарплата не должна находиться в диапазоне от

'20000' AND '30000' 20000 до 30000, включая крайние значения

диапазона

SELECT *

FROM PRODUCTS_TBL

WHERE NOT BETWEEN 5.95 AND 14.5;

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1

9 СЛАДКАЯ КУКУРУЗА 1.35

6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45

87 ПЛАСТИКОВЫЕ ПАУКИ 1.05

119 МАСКИ В АССОРТИМЕНТЕ 4.95

2345 ПОЛОЧКА ИЗ ДУБА 59.99

7 строк выбраны.

Не забывайте о том, что BETWEEN предполагает включение в рассмотрение границ диапазона. Именно поэтому в данном примере строки со значениями 5.95 и 14 .5 выведены не были.

NOT IN

Отрицанием IN является NOT IN. В следующем примере любое из возвращенных значений зарплаты не должно равняться какому-нибудь значению из заданного списка.

Пример________________________________Значение______

WHERE SALARY NOT IN ('20000', Зарплата не должна равняться 20000, 30000

'30000', '40000') или 40000

SELECT *

FROM PRODUCTSJTBL

WHERE PROD_ID NOT IN (•13','9•,'87','119');

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75

90 ФОНАРИ 14.5

15 КОСТЮМЫ В АССОРТИМЕНТЕ 10

6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45

1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95

2345 ПОЛОЧКА ИЗ ДУБА 59.99

7 строк выбраны.

В данном случае не показаны строки для товаров с кодами из списка, указанного после NOT IN.

NOT LIKE

Ключевое слово NOT LIKE является отрицанием операции подстановки LIKE для нахождения значений, не похожих на заданное. Вот несколько примеров.

Пример___________________________________Значение __________________

WHERE SALARY NOT LIKE '200%' Любое значение, не начинающееся с 200

WHERE SALARY NOT LIKE '%200%' Любое значение, не имеющее 200 ни в какой

позиции

WHERE SALARY NOT LIKE '_00%' Любое значение, не имеющее 00 во второй и

третьей позициях

WHERE SALARY NOT LIKE '2_%_%' Любое значение, не начинающееся с 2 и

состоящее как минимум из трех символов

SELECT PROD_DESC

FROM PRODUCTS_TBL

WHERE PROD_DESC NOT LIKE 'П%';

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1

90 ФОНАРИ 14.5

15 КОСТЮМЫ В АССОРТИМЕНТЕ 10

9 СЛАДКАЯ КУКУРУЗА 1.35

6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45

119 МАСКИ В АССОРТИМЕНТЕ 4.95

1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95

8 строк выбраны. В этом примере выбираются описания товаров, не начинающиеся на букву "П".

IS NOT NULL

Ключевое слово IS NOT NULL обозначает отрицание операции is NULL и используется, когда нужно убедиться, что заданное значение не является пустым.

Пример__________________________Значение____________________

WHERE SALARY is NOT NULL Выбрать только строки с непустыми значениями.

SELECT EMP_XD, LAST_NAME, FIRST_NAME, PAGER

FROM EMPLOYEEJTBL

WHERE PAGER IS NOT NULL;

EMP_ID LAST_NAME FIRST_NAME PAGER

213764555 GLASS BRANDON 3175709980

313782439 GLASS JACOB 8887345678

2 строки выбраны.

NOT EXISTS

Ключевое слово NOT EXISTS используется как отрицание EXISTS.

Пример___________________________Значение_________________

WHERE NOT EXISTS (SELECT EMP_ID Проверка отсутствия ЕМР ID со зна

FROM EMPLOYEE TBL чением 333333333333 в таблице

WHERE EMPLOYEE_ID = -333333333') EMPLOYEE_TBL

SELECT MAX(COST)

FROM PRODUCTS_TBL

WHERE NOT EXISTS ( SELECT COST

FROM PRODOCTS_TBL

WHERE COST > 100 ) ;

MAX(COST)

---------

59.99

В данном случае выведено максимальное из значений цен в таблице, поскольку не оказалось цен, превышающих 100.

NOT UNIQUE

Ключевое слово NOT UNIQUE используется как отрицание UNIQUE.

Пример_____________________________________Значение______

WHERE NOT UNIQUE (SELECT SALARY Проверка SALARY на наличие неуни-

FROM EMPLOYEE_TBL) кальных значений

Арифметические операции

Арифметические операции используются в SQL точно так же, как и в большинстве других языков. Таких операций четыре:

• + (сложение);

• * (умножение);

• - (вычитание);

• / (деление).

Сложение

Сложение представлено знаком "+".

Пример_____________________________Значение__________________

SELECT SALARY + BONUS Значение SALARY складывается со значе-

FROM EMPLOYEE_PAY_TBL; нием BONUS для каждой строки данных

SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, ДЛЯ которых сумма

WHERE SALARY + BONUS > '40000'; SALARY И BONUS Превышает 40000

Вычитание

Вычитание представлено знаком "-".

Пример________________________Значение________________

SELECT SALARY - BONUS Значение BONUS вычитается из зна-

FROM EMPLOYEE_PAY_TBL; чения SALARY

SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, для которых разность

WHERE SALARY - BONUS > '40000'; SALARY И BONUS Превышает 40000

Умножение

Умножение представлено знаком "*".

Пример_______________________Значение_______________________

SELECT SALARY * 10 Значение SALARY умножается на 10

FROM EMPLOYEE_PAY_TBL;

SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, для которых значение

WHERE SALARY * 10 > '40000',- SALARY, умноженное на 10, превышает

40000

В следующем примере текущее значение зарплаты умножается на 1.1, что означает увеличение на 10%.

SELECT EMP_ID, PAY_RATE, PAY_RATE * 1.1

FROM EMPLOYEE_PAY_TBL

WHERE PAY_RATE IS NOT NULL;

EMP_ID PAY_RATE PAY_RATE*1.1

44234688Э 14.75 16.225

220984332 11 12.1

443679012 15 16.5

3 строки выбраны.

Деление

Деление представлено знаком "/" (косой чертой).

Пример________________________________Значение_______

SELECT SALARY /10 Значение SALARY делится на 10

FROM EMPLOYEE_PAY_TBL;

SELECT SALARY FROM EMPLOYEE_PAY_TBL Выбор строк, для которых значение

WHERE SALARY / 10 > '40000'; SALARY, деленное на 10, превышает 40000

Перейти на страницу:

W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


SQL за 24 часа отзывы

Отзывы читателей о книге SQL за 24 часа, автор: W Cat. Читайте комментарии и мнения людей о произведении.


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

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*