Какой из запросов добавит запись в таблицу 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
Трюк дня. Частичные ограничения на значения в PostgreSQL
Cоздайте ограничение (constraint) на таблицу
Однако, есть дополнительное требование: допускается существование только одной записи с некой строкой и значением
Например, может быть несколько
Решение будет вечером.
#tips
Cоздайте ограничение (constraint) на таблицу
foobar. Ограничение должно проверять уникальность двух полей: строкового bar и логического bing. Однако, есть дополнительное требование: допускается существование только одной записи с некой строкой и значением
TRUE. В то же время, допускается несколько записей с некой строкой, но значением FALSE. Например, может быть несколько
{«abc», false}, но только одна строка {«abc», true}.Решение будет вечером.
#tips
Трюк дня. Частичные ограничения на значения в PostgreSQL. Решение
Для решения данной задачи используем механизм частичных индексов (partial indices).
#tips
Для решения данной задачи используем механизм частичных индексов (partial indices).
CREATE TABLE foobar(bar TEXT, bing BOOLEAN);В результате выполнения последнего
CREATE UNIQUE INDEX baz_index ON foobar(bar, bing) WHERE bing = 't';
INSERT INTO foobar VALUES('1','t');
INSERT INTO foobar VALUES('2','t');
INSERT INTO foobar VALUES('1','f');
INSERT INTO foobar VALUES('1','f');
INSERT INTO foobar VALUES('1','t');
INSERT получим следующее сообщение:ERROR: duplicate key value violates unique constraint «baz_index» #tips
Какой PostgreSQL запрос не выберет все записи, где city не равно Oslo?
Anonymous Quiz
9%
SELECT * FROM users WHERE NOT city = ‘Oslo’;
17%
SELECT * FROM users WHERE city NOT IN (‘Oslo’);
26%
SELECT * FROM users WHERE city != ‘Oslo’;
39%
SELECT * FROM users WHERE city = ‘Oslo’;
5%
Ничего из перечисленного
4%
Посмотреть ответы