SQL задачи
الذهاب إلى القناة على Telegram
SQL задачи для подготовки к собеседованию. SQL тесты для проверки знаний. № 7065181110 SQL запросы к конкретной Базе данных с решением и разбором По вопросам рекламы: @anothertechrock
إظهار المزيد9 949
المشتركون
-224 ساعات
-97 أيام
-2930 أيام
أرشيف المشاركات
9 949
Ответ - "В чем разница между кластеризованным и некластеризованным индексами в SQL?"
1. Различия между кластеризованным и некластеризованным индексами в SQL:
Кластерный индекс используется для простого и быстрого извлечения данных из базы данных, тогда как чтение из некластеризованного индекса происходит относительно медленнее.
2. Кластеризованный индекс изменяет способ хранения записей в базе данных — он сортирует строки по столбцу, который установлен как кластеризованный индекс, тогда как в некластеризованном индексе он не меняет способ хранения, но создает отдельный объект внутри таблицы, который указывает на исходные строки таблицы при поиске.
3. Одна таблица может иметь только один кластеризованный индекс, тогда как некластеризованных у нее может быть много.
#вопроснаинтервью
9 949
SELECT name, price FROM products WHERE id = 'DLL01' OR id = 'BRS01' AND price < 10
Этим запросом необходимо получить товары с id DLL01 или BRS01, но в цене не дороже 10. Отработает ли этот запрос согласно условиям задачи?
9 949
В чем разница между кластеризованным и некластеризованным индексами в SQL?
Ответ завтра.
#вопроснаинтервью
9 949
9 949
Ребята, тест по алгоритмам от компании Otus.
20 вопросов.
Вопросы на темы "алгоритмы, их сложность, стек, рекурсия".
Проходите тут: https://otus.pw/oBji/
9 949
#Задача6:
Используй схему данных отсюда
Давай представим, что мы делаем поиск по названию товаров и категорий товаров.
Найди все товары и категории товаров, в названии которых встречается подстрока 'но' без учета регистра (name ilike '%но%'). В результате выведи один столбец:
name - название товара или категории товаров.
Сортировать строки результата не нужно.
Решение завтра.
#задача
9 949
Можно ли упростить приведенный запрос с UNION? Если да, то как?
SELECT id, prod_id, price FROM goods WHERE price <= 5 UNION SELECT id, prod_id, price FROM goods WHERE id IN (100,104)
9 949
Решение к #Задача5:
SELECT p.name AS product_name,
pi.count,
pi.price
FROM purchase_item pi
JOIN product p
ON p.product_id = pi.product_id
WHERE pi.price = (SELECT max(pim.price)
FROM purchase_item pim)
#задача
9 949
#Задача5:
Используй схему данных отсюда
Получи информацию о самом дорогом продукте, который когда-либо купили (purchase_item).
Выведи следующие поля:
product_name - название продукта;
count - количество единиц товара;
price - цена за единицу товара.
Решение завтра.
#задача
9 949
Ответ к вопросу: Имеет ли значение порядок колонок в составном индексе?
Да, имеет. При создании составного индекса сначала строится обычный индекс для его первой колонки, а потом уже на основе него строится индекс для второй колонки и так далее.
Как это работает:
Если использовать в качестве аналога книгу, то индекс действует следующим образом: предположим, что началом индекса (алфавитного указателя) является страница, где указаны номера страниц для статей индекса на букву "a", "b", "c" и т.д. Затем предположим, что эти страницы содержат номера страниц для статей в диапазонах aa-ab, Ас-ad, ae-af и т.д., а соответствующие страницы – номера страниц для записей в диапазонах aaa-aab, aАс-aad, aae-aaf и т.д.
При подобной организации можно быстро найти то, что вам нужно, с использованием относительно небольшого количества операций поиска. Такая структура аналогична индексу таблицы базы данных, когда первой страницей является корневой узел.
Другими словами, колонки, по которым поиск выполняется чаще всего, должны стоять в составном индексе первыми.
9 949
Что будет найдено благодаря этому выражению: WHERE cust_contact LIKE '[JM]%'? Работает в Microsoft Access.
9 949
Решение к #Задача4:
SELECT concat(
e.last_name, ' ',
e.first_name, ' ',
e.middle_name, ';'
) AS full_name
FROM employee e
ORDER BY full_name
#задача
9 949
#Задача4
Сконкатенируй ФИО из таблицы сотрудников employee.
Выведи один столбец full_name в формате 'Фамилия Имя Отчество;'
Отсортируй результат по full_name.
Не забудь точку с запятой в конце строки.
#задача
9 949
#Задача2: Выведите сотрудников (можно как id, так и имена), у которых есть подчиненные.
Какой запрос решает поставленную задачу?
1) SELECT DISTINCT manager_id
FROM employees
WHERE manager_id IS NOT NULL
2) SELECT manager_id
FROM employees
WHERE manager_id IS NOT NULL
GROUP BY manager_id
3) SELECT b.first_name || ' ' || b.last_name
FROM employees b
WHERE b.employee_id in (SELECT DISTINCT manager_id FROM employees WHERE manager_id IS NOT NULL)
9 949
