SELECT запросы

SQL select all command

Часто при работе с базой данных тестировщику нужно сравнивать ожидаемые изменения в базе данных с фактическими, произведёнными сервером.

Например, мы отправили запрос на добавление печеньки на склад (см. Интеграционное тестирование) и ожидаем, что в базе появится новая запись. При этом важно проверить, что все данные о печеньке попали в нужные столбцы.

SELECT — команда для поиска данных в базе данных.

Команда SELECT

Запрос для поиска данных может содержать следующие ключевые слова:

  • SELECT с перечислением имён столбцов, которые необходимо вывести в результирующей таблице; если указать * будут выведены все столбцы
  • FROM имя таблицы
  • WHERE условие выборки по столбцу, например:
  • ORDER BY имена столбцов, по которым будет произведена сортировка
    • с ASC — сортировка по возрастанию (по умолчанию)
    • с DESC — сортировка по убыванию

Важно соблюдать порядок ключевых слов!

SELECT id, name
FROM cat
WHERE name LIKE '%астронавт%'
ORDER BY name DESC;

Выбрать идентификаторы и имена котов, в именах которых присутствует слово 'астронавт', с сортировкой по имени в порядке убывания

id name
1 Кот-астронавт
3 Брат Кота-астронавта

Результат выполнения запроса

Оператор LIKE

Оператор LIKE позволяет писать в WHERE условия для поиска строк по шаблону. В шаблоне допускается использовать следующие символы:

  • Символ % обозначает ноль, один или более любых символов
  • Символ _ обозначает один любой символ
  • [ ] задаёт символы, которые должны присутствовать в строке
  • [^] задаёт символы, которые не должны присутствовать в строке
SELECT *
FROM cat
WHERE name LIKE '____а%';

Выбрать всех котов из таблицы cat, пятая буква в имени которых — а


id name
1 Кот-астронавт

Результат выполнения запроса

Логические операторы AND и OR

Для комбинации нескольких условий в WHERE используются логические операторы:

AND логическое И: возвращаются строки, которые удовлетворяют обоим условиям
OR логическое ИЛИ: возвращаются строки, которые удовлетворяют хотя бы одному условию
SELECT *
FROM cat
WHERE is_ginger = true AND name LIKE 'К%';

Например, выбрать котов из таблицы cat рыжего цвета И с именами, начинающимися на 'К'

Операторы BETWEEN и IN

Ещё пара операторов сравнения, которые при желании можно заменить комбинацией условий с AND/OR:

BETWEEN позволяет выбирать значения в пределах указанного диапазона включительно
IN используется для сравнения значения с набором перечисленных значений
SELECT *
FROM cat
WHERE age BETWEEN 1 AND 3 
OR color IN ('white', 'black');

Выбрать котов из таблицы cat в возрасте МЕЖДУ 1 И 3 ИЛИ с цветом из перечисления ('white', 'black')

Ключевое слово DISTINCT

Ключевое слово DISTINCT указывается, когда необходимо выбрать только уникальные значения из столбца или комбинации столбцов.

SELECT DISTINCT name
FROM cat;

Выбрать уникальные имена котов из таблицы cat

Задача

Найдите конфету в таблице candy.

Выберите все конфеты, названия name которых начинаются с Plut, и отсортируйте результат по названию в порядке убывания.

При формировании запроса вам понадобятся:

  • SELECT
  • FROM
  • WHERE + LIKE
  • ORDER BY
SQL симулятор

Логические операторы не поддерживаются симулятором

Задача доступна премиум пользователям!

Открой доступ, чтобы заниматься без ограничений.

Полный доступ ко всем практическим задачам
Проверка ответов
Неограниченное количество попыток
Sidebar arrow

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

ТЕХНИКИ ТЕСТ ДИЗАЙНА

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

ТЕСТИРОВАНИЕ РЕЛИЗА

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов Тест Собеседование