#вопросы_с_собеседований
При выборке из таблицы workers получите первые 5 символов логина и добавьте троеточие
Ответ на картинке.
При выборке из таблицы workers получите первые 5 символов логина и добавьте троеточие
Ответ на картинке.
#вопросы_с_собеседований
Вывести 30 комментариев начиная с 5 комментария из таблицы replies, кроме комментариев автора 'Вася'. Данные сортируются по дате добавления комментария в убывающем порядке
Ответ на картинке.
Вывести 30 комментариев начиная с 5 комментария из таблицы replies, кроме комментариев автора 'Вася'. Данные сортируются по дате добавления комментария в убывающем порядке
Ответ на картинке.
👍2
С помощью какой конструкции можно проанализировать использование индекса?
Anonymous Quiz
30%
INDEX USAGE
10%
TEST INDEX
42%
EXPLAIN
8%
Все варианты неверные
11%
Посмотреть ответ
Что покажет следующий запрос:
SELECT CONCAT(`index`," ", `city`) AS delivery_address FROM Orders;
SELECT CONCAT(`index`," ", `city`) AS delivery_address FROM Orders;
Anonymous Quiz
13%
Ничего, запрос составлен неверно
4%
Покажет уникальные значения индексов и адресов из таблицы Orders
72%
Соединит поля с индексом и адресом из таблицы Orders и покажет их с псевдонимом delivery_address
5%
Соединит поля с индексом и адресом из таблицы Orders, но покажет их без псевдонима
6%
Узнать ответ
Какое утверждение НЕ соответствует приведенному запросу:
SELECT cust_name, cust_state,
(SELECT COUNT(*) FROM Orders WHERE Orders.cust_id = Customers.cust_id) AS orders FROM Customers Order BY cust_name DESC
SELECT cust_name, cust_state,
(SELECT COUNT(*) FROM Orders WHERE Orders.cust_id = Customers.cust_id) AS orders FROM Customers Order BY cust_name DESC
Anonymous Quiz
13%
Поле Orders формируется в результате подзапроса
12%
SELECT возвращает 3 столбца для каждого клиента
17%
cust_id из Orders сравнивается с тем, что извлекается из Customers
48%
Результаты сортируются по возрастанию
10%
Узнать ответ
👍9❤🔥1
JOIN (соединение таблиц) невозможно осуществить в запросе без:
Anonymous Quiz
38%
ключевого слова JOIN
3%
слова INNER перед JOIN
51%
перечисления соединяемых таблиц
5%
псевдонимов соединяемых таблиц
3%
посмотреть ответ
👍9
Можно ли поменять тип данных поля в уже существующей таблице?
Anonymous Quiz
72%
Да, при помощи команды ALTER
6%
Да, достаточно сделать INSERT с новым типом данных
12%
Нет, только пересоздать таблицу
3%
Тип бывает только у таблицы, а не у поля таблицы
7%
Посмотреть ответ
👍11🎄1
👍11❤🔥3
#Вопросы_с_собеседования
❓Как GROUP BY обрабатывает значение NULL?
Ответ:
При использовании GROUP BY все значения NULL считаются равными.
❓Как GROUP BY обрабатывает значение NULL?
Ответ:
👍11
Функция FIND_IN_SET()
Функция FIND_IN_SET() возвращает положение строки в списке строк.
Подробнее ознакомиться с функцией можно здесь.
Функция FIND_IN_SET() возвращает положение строки в списке строк.
Подробнее ознакомиться с функцией можно здесь.
👍4❤🔥1
#Вопросы_с_собеседования
Какие ещё ограничения вы знаете, как они работают и указываются?
SQL-ограничения (constraints) указываются при создании или изменении таблицы. Это правила для ограничения типа данных, которые могут храниться в таблице. Действие с данными не будет выполнено, если нарушаются установленные ограничения.
•
•
•
•
•
Какие ещё ограничения вы знаете, как они работают и указываются?
SQL-ограничения (constraints) указываются при создании или изменении таблицы. Это правила для ограничения типа данных, которые могут храниться в таблице. Действие с данными не будет выполнено, если нарушаются установленные ограничения.
•
UNIQUE — гарантирует уникальность значений в столбце;•
NOT NULL — значение не может быть NULL;•
INDEX — создаёт индексы в таблице для быстрого поиска/запросов;•
CHECK — значения столбца должны соответствовать заданным условиям;•
DEFAULT — предоставляет столбцу значения по умолчанию.👍10
#Вопросы_с_собеседования
Какие бывают типы подзапросов?
Существует два типа подзапросов, а именно: коррелированные и некоррелированные.
• Коррелированный подзапрос: это запрос, который выбирает данные из таблицы со ссылкой на внешний запрос. Он не считается независимым запросом, поскольку ссылается на другую таблицу или столбец в таблице.
• Некоррелированный подзапрос: этот запрос является независимым запросом, в котором выходные данные подзапроса подставляются в основной запрос.
Какие бывают типы подзапросов?
Существует два типа подзапросов, а именно: коррелированные и некоррелированные.
• Коррелированный подзапрос: это запрос, который выбирает данные из таблицы со ссылкой на внешний запрос. Он не считается независимым запросом, поскольку ссылается на другую таблицу или столбец в таблице.
• Некоррелированный подзапрос: этот запрос является независимым запросом, в котором выходные данные подзапроса подставляются в основной запрос.
👍11❤🔥1
Можно попробовать использовать функцию COUNT() в сочетании с оператором GROUP BY.
Предположим, у нас есть таблица "orders" с колонками "customer_name" и "order_date", и мы хотим посчитать, сколько заказов было сделано каждым клиентом. Мы можем написать следующий SQL-запрос:
SELECT customer_name, COUNT(*) as order_count
FROM orders
GROUP BY customer_nameЭтот запрос выберет все уникальные значения из колонки "customer_name" в таблице "orders" и подсчитает количество строк, связанных с каждым уникальным значением. Результатом запроса будет таблица со столбцами "customer_name" и "order_count", в которой каждая строка будет показывать клиента и количество его заказов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12😁2
Оператор CASE в SQL используется для создания условий, когда нужно выполнить различные операции в зависимости от значения столбца или выражения.
Оператор CASE может быть использован в двух форматах:
CASE без ELSE:
SELECT column1,
CASE
WHEN column2 = 'value1' THEN 'result1'
WHEN column2 = 'value2' THEN 'result2'
END AS column3
FROM table;В этой форме оператора
CASE используется блок WHEN для проверки значения столбца column2. Если значение равно value1, то будет возвращено значение result1. Если значение равно value2, то будет возвращено значение result2. Если значение не соответствует ни одному из условий, то для столбца column3 будет возвращено значение NULL.CASE с ELSE:
SELECT column1,
CASE column2
WHEN 'value1' THEN 'result1'
WHEN 'value2' THEN 'result2'
ELSE 'result3'
END AS column3
FROM table;В этой форме оператора
CASE используется значение столбца column2 в блоке CASE. Если значение равно value1, то будет возвращено значение result1. Если значение равно value2, то будет возвращено значение result2. Если значение не соответствует ни одному из условий, то будет возвращено значение result3.Оба формата оператора
CASE могут использоваться в запросах на выборку данных в SQL. Они позволяют создавать условия, когда нужно выполнить различные операции в зависимости от значения столбца или выражения.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
🕵♂Использование CROSS JOIN для задач поиска пересечений в исторических данных
🔵 CROSS JOIN (или полное соединение таблиц без условий) — декартова перемножение множеств. Говоря простым языком — для каждого варианта первого множества будет сопоставлены все варианты второго множества.
• Правильное использование этого типа соединения может помочь в решении сложных задач, например, нахождении пересечений в исторических данных.
• Структура таблиц представленных примеров в изображении 1.
📕 Допустим: клиент Сидоров Степан Павлович подал заявку на кредит. На некотором этапе рассмотрения потребовался анализ платежеспособности клиента андеррайтером.
Заявка автоматически распределилась на сотрудника Петрова Екатерина Павловна.
На первый взгляд ничего подозрительного нет — в ФИО людей совпадает только отчество, что является широко распространенной ситуацией.
❗️ Однако, при детальном анализе выясняется, что девичья фамилия андеррайтера и клиента совпадают (Сидорова / Сидоров) изображение 2.
В таком случае заявка клиента должна была распределиться на другого сотрудника, чтобы решение, вынесенное по заявке, было не предвзятым.
• Для решения данной задачи можно использовать простой запрос с CROSS JOIN изображение 3.
➡️ Продолжение
• Правильное использование этого типа соединения может помочь в решении сложных задач, например, нахождении пересечений в исторических данных.
• Структура таблиц представленных примеров в изображении 1.
Заявка автоматически распределилась на сотрудника Петрова Екатерина Павловна.
На первый взгляд ничего подозрительного нет — в ФИО людей совпадает только отчество, что является широко распространенной ситуацией.
В таком случае заявка клиента должна была распределиться на другого сотрудника, чтобы решение, вынесенное по заявке, было не предвзятым.
• Для решения данной задачи можно использовать простой запрос с CROSS JOIN изображение 3.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4