SELECT запросы

SQL command types with DQL type highlighted

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

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

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

Команда 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

  1. Выберите все конфеты, у которых есть (true) начинка filling
  2. Выберите все конфеты, имена name которых начинаются с Плут
SQL симулятор

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

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

ВВЕДЕНИЕ

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

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

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

ТЕСТ ДИЗАЙН

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

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

POSTMAN

БАЗЫ ДАННЫХ

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

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

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

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