Условия равенства для значения NULL
Вспомним, что NULL означает отсутствие значения, поэтому сравнивать значения с NULL обычным образом нельзя. Например, выражение ниже будет некорректным, хотя в SQLite ошибку мы не получим:
sqlite> SELECT name, lessons_amount FROM courses WHERE lessons_amount = NULL; |
Правильнее использовать синтаксис IS NULL для проверки на пустое значение, и IS NOT NULL — для проверки на непустое значение. В первом выражении ниже мы ищем записи в курсах с незаполненным значением количества уроков (таких строк нет). Во втором выражении выводим все курсы с заполненными значениями:
sqlite> SELECT name, lessons_amount FROM courses WHERE lessons_amount IS NULL; sqlite> SELECT name, lessons_amount FROM courses WHERE lessons_amount IS NOT NULL; name lessons_amount ----------- -------------- Базы данных 12 Linux. Рабо 8 Основы Pyth 8 sqlite> |
Арифметические операции
В SQL используются основные арифметические операции сложения, вычитания, умножения, деления, а также определение модуля числа.
sqlite> SELECT 3 + 5; 3 + 5 ---------- 8 sqlite> SELECT 23 - 7; 23 - 7 ---------- 16 sqlite> SELECT 3 * 12; 3 * 12 ---------- 36 sqlite> SELECT 30 / 5; 30 / 5 ---------- 6 sqlite> SELECT 5 % 2; 5 % 2 ---------- 1 |
|
|
Обратите внимание, что в примерах выше для вывода значений мы используем оператор SELECT, также как делаем это при запросе данных из таблиц базы данных. Хотя обращения к данным не происходит, СУБД рассчитывает выражение и возвращает результат.
Использование встроенных функций
Во всех современных СУБД, включая SQLite, применяется много готовых (встроенных) функций, которые участвуют в решении самых разных задач. На этом занятии мы рассмотрим функцию поиска по шаблону LIKE, некоторые функции работы с датой, а также функции агрегирования. Полный список встроенных функций с описанием их использования — в официальной документации.