Ответ на #вопрос22
Оба
Они отличаются тем, как они обрабатывают дубликаты:
Оба
UNION и UNION ALL объединяют результат двух разных SQL запросов. Они отличаются тем, как они обрабатывают дубликаты:
UNION выполняет DISTINCT в результирующем наборе, исключая любые повторяющиеся строки.UNION ALL не удаляет дубликаты, и поэтому он быстрее, чем UNION.
#вопросы #собеседованиеКакой из запросов добавит запись в таблицу users?
Anonymous Quiz
13%
INSERT VALUES (‘user1‘, now()) INTO users;
4%
INSERT users FROM VALUES (‘user1‘, now());
75%
INSERT INTO users (“name“, “create_date“) VALUES (‘user1‘, now());
4%
ADD users (“name“, “create_date“) RECORD (‘user1‘, now());
5%
Посмотреть ответы
👍1
#вопрос23
Напишите SQL запрос для создания пустой таблицы из существующей.
То есть структура таблицы должна быть такая же как и у существующей, но в новой таблице не должно быть ни одной записи.
#вопросы #собеседование
Напишите SQL запрос для создания пустой таблицы из существующей.
То есть структура таблицы должна быть такая же как и у существующей, но в новой таблице не должно быть ни одной записи.
#вопросы #собеседование
👍1
Ответ на #вопрос23
CREATE TABLE new_table AS (
SELECT *
FROM old_table
WHERE 1=2
);
#вопросы #собеседованиеТрюк дня. Поменять местами соседние записи
В таблице
Напишите MySQL запрос, который поменяет местами соседних учеников.
Если количество учеников нечётное — последнего ученика никуда пересаживать не надо.
Исходная таблица:
#tips
В таблице
seat хранятся имена учеников и сведениях об их местах в классе. Напишите MySQL запрос, который поменяет местами соседних учеников.
Если количество учеников нечётное — последнего ученика никуда пересаживать не надо.
Исходная таблица:
id student
1 Abbot
2 Doris
3 Emerson
4 Green
5 Jeames
Что должно получиться: id student
1 Doris
2 Abbot
3 Green
4 Emerson
5 Jeames
Решение будет вечером. #tips
👍1
Выберите правильный пример запроса с использованием UNION:
Anonymous Quiz
3%
SELECT id, city, seller_id FROM orders AND SELECT city, id FROM sellers ORDER BY id;
65%
SELECT id, city FROM orders UNION SELECT id, city FROM sellers ORDER BY id;
20%
SELECT id, city FROM orders ORDER BY id UNION SELECT id, city FROM sellers ORDER BY city;
5%
Все запросы верные
6%
Посмотреть ответы
👍1
Трюк дня. Улучшить производительность запроса к таблице с индексом
В таблице
Следующий SQL запрос не будет использовать существующий индекс, что может приводить к потере производительности:
Перепишите запрос так, чтобы существующий индекс стал использоваться.
Решение будет вечером.
#tips
В таблице
test в столбце signup_date содержатся данные типа date. Для этого стоблца существует индекс. Следующий SQL запрос не будет использовать существующий индекс, что может приводить к потере производительности:
SELECT
*
FROM test
WHERE DATEPART (YEAR, signup_date) = '2021';
Перепишите запрос так, чтобы существующий индекс стал использоваться.
Решение будет вечером.
#tips
Трюк дня. Улучшить производительность запроса к таблице с индексом. Решение
При использовании функции
Поэтому для лучшей производительности запрос лучше писать следующим образом:
При использовании функции
DATEPART происходит неявное преобразование типа данных. И индекс не будет использован. Поэтому для лучшей производительности запрос лучше писать следующим образом:
*
FROM test
WHERE signup_date >= '20210101'
AND signup_date < '20220101';
#tipsЧто из следующего неверно об ограничении FOREIGN KEY?
Anonymous Quiz
25%
Устанавливает связь между первичным ключом или уникальным ключом в той же или другой таблице.
27%
Значение внешнего ключа не может быть NULL.
23%
Значение внешнего ключа должно соответствовать существующему значению в таблице-родителе.
15%
Ничего из перечисленного
9%
Узнать ответ
#вопрос25
В чем разница между функциями
Приведите пример.
#вопросы #собеседование
В чем разница между функциями
RANK() и DENSE_RANK()? Приведите пример.
#вопросы #собеседование
Ответ на #вопрос25
Единственная разница между функциями
В таких случаях
Тогда как
Например, рассмотрим набор
Для такого набора RANK() вернет
Единственная разница между функциями
RANK() и DENSE_RANK() заключается в случаях, когда несколько значений в наборе имеют одинаковый ранг. В таких случаях
RANK() будет назначать непоследовательные «ранги» значениям в наборе.Тогда как
DENSE_RANK() будет назначать последовательные ранги значениям в наборе.Например, рассмотрим набор
{25, 25, 50, 75, 75, 100}. Для такого набора RANK() вернет
{1, 1, 3, 4, 4, 6} (обратите внимание, что значения 2 и 5 пропущены), тогда как DENSE_RANK() вернет {1, 1, 2, 3, 3, 4}.
#вопросы #собеседование👍2