#вопрос9
В чем разница между функциями
#вопросы #собеседование
В чем разница между функциями
NOW() и CURRENT_DATE() в PostgreSQL/MySQL? #вопросы #собеседование
Ответ на #вопрос9
Основное различие между
#вопросы #собеседование
NOW() возвращает время, когда начал исполняться оператор.Основное различие между
NOW() и CURRENT_DATE() заключается в том, что NOW() получает текущую дату и время в формате 'YYYY-MM-DD HH:MM:SS', а CURRENT_DATE() получает дату текущего дня 'YYYY-MM-DD'.#вопросы #собеседование
Tips & Tricks. 9 best practices написания SQL запросов
В этой статье мы рассмотрим best practices при написании SQL, позволяющие улучшить читабельность и производительность запросов.
#sql
Читать статью
В этой статье мы рассмотрим best practices при написании SQL, позволяющие улучшить читабельность и производительность запросов.
#sql
Читать статью
Задача на логику.
Представьте себе замкнутую по окружности железную дорогу. По ней едет поезд, последний вагон которого скреплён с первым так, что внутри можно свободно перемещаться между вагонами. Вы оказались в одном случайном вагоне и ваша задача — подсчитать их общее количество. В каждом вагоне можно включать или выключать свет, но начальное положение переключателей случайное и заранее неизвестно.
Все вагоны внутри выглядят строго одинаково, окна закрыты так, что невозможно посмотреть наружу, движение поезда равномерное. Помечать вагоны как-либо, кроме включения или выключения света, нельзя. Количество вагонов конечно.
Решение будет вечером.
#логика
Представьте себе замкнутую по окружности железную дорогу. По ней едет поезд, последний вагон которого скреплён с первым так, что внутри можно свободно перемещаться между вагонами. Вы оказались в одном случайном вагоне и ваша задача — подсчитать их общее количество. В каждом вагоне можно включать или выключать свет, но начальное положение переключателей случайное и заранее неизвестно.
Все вагоны внутри выглядят строго одинаково, окна закрыты так, что невозможно посмотреть наружу, движение поезда равномерное. Помечать вагоны как-либо, кроме включения или выключения света, нельзя. Количество вагонов конечно.
Решение будет вечером.
#логика
👍1
Решение сегодняшней задачи на логику.
1. Включить свет в начальном вагоне, в котором вы находитесь, если он ещё не горит.
2. Затем идти в одну любую сторону до тех пор, пока не встретите вагон с работающим освещением, при этом обязательно считать пройденные вагоны.
3. Выключить в найденном вагоне свет и идти обратно к начальному. Если в нём свет всё ещё горит, то повторить операцию. Если же нет, значит вы прошли полный круг и знаете ответ.
#логика
1. Включить свет в начальном вагоне, в котором вы находитесь, если он ещё не горит.
2. Затем идти в одну любую сторону до тех пор, пока не встретите вагон с работающим освещением, при этом обязательно считать пройденные вагоны.
3. Выключить в найденном вагоне свет и идти обратно к начальному. Если в нём свет всё ещё горит, то повторить операцию. Если же нет, значит вы прошли полный круг и знаете ответ.
#логика
Какое значение вернёт следующий PostgreSQL запрос:
SELECT CEIL(53.2);
SELECT CEIL(53.2);
Anonymous Quiz
36%
53
24%
54
12%
53.0
12%
53.2
4%
Ничего из перечисленного
13%
Посмотреть ответы
#вопрос10
Отработает ли данный запрос или выдаст ошибку:
Отработает ли данный запрос или выдаст ошибку:
SELECT field1 FROM table GROUP BY field1, field2;#вопросы #собеседование
Ответ на #вопрос10
Да, отработает. В SQL допускается перечисление не всех полей в разделе
В данном примере группировка выполняется по двум полям, а выводится на экран одно поле. А вот наоборот сделать уже нельзя.
#вопросы #собеседование
Да, отработает. В SQL допускается перечисление не всех полей в разделе
SELECT, если мы группируем по нескольким полям. В данном примере группировка выполняется по двум полям, а выводится на экран одно поле. А вот наоборот сделать уже нельзя.
#вопросы #собеседование
Tips & Tricks. Очистка raw data в SQL
В этой статье мы рассмотрим несколько примеров, как очистить реальные данные так, чтобы можно было их использовать для дальнейшей работы с ними.
#sql
Читать статью
В этой статье мы рассмотрим несколько примеров, как очистить реальные данные так, чтобы можно было их использовать для дальнейшей работы с ними.
#sql
Читать статью
👍2
Трюк дня. Ранг без
Напишите SQL-запрос, который будет ранжировать
Решение будет вечером.
#tips
RANK()Напишите SQL-запрос, который будет ранжировать
scores из таблицы scores без использования оконной функции. Одинаковые scores должны иметь одинаковый ранг. Ранг, следующий за одинаковыми scores, должен быть следущий целым числом (см. ожидаемый результат на картинке выше). Решение будет вечером.
#tips
⚡1👍1
Трюк дня. Ранг без RANK(). Решение.
Соединим таблицу саму на себя, сравнивая
Подсчитаем все уникальные значения объединённых
Соединим таблицу саму на себя, сравнивая
score.Подсчитаем все уникальные значения объединённых
score. Это и даёт эквивалент DENSE_RANK(). SELECT s1.score, count(DISTINCT s2.score) AS score_rank
FROM scores s1
JOIN scores s2
ON s1.score <= s2.score
GROUP BY s1.id, s1.score
ORDER BY 1 DESC
#tipsКакой из перечисленных ниже PostgreSQL запросов вернет результат как на картинке выше?
Anonymous Quiz
18%
VALUES ('Blue'), ('Red'), ('Green');
26%
SELECT 'Blue', 'Red', 'Green';
22%
SELECT ['Blue', 'Red', 'Green'];
21%
Ничего из перечисленного
13%
Посмотреть ответы
Ответ на #вопрос11
Учитывая, что
name score
Alex 5
Sam 1
Sam 11
NULL 4
NULL 3
Тогда запрос
name sc
Alex 5
Sam 12
NULL 7
#вопросы #собеседование
Учитывая, что
NULL в SQL — просто отсутствие значения, то все значения NULL при группировке попадают в одну группу. Например, пусть есть таблица:name score
Alex 5
Sam 1
Sam 11
NULL 4
NULL 3
Тогда запрос
SELECT name, SUM (score) AS scвыдаст:
FROM table
GROUP BY name;
name sc
Alex 5
Sam 12
NULL 7
#вопросы #собеседование
👍1
Tips & Tricks. Работа со столбцами AUTO_INCREMENT в MySQL
В этой статье мы расскажем, для чего используется AUTO_INCREMENT и как им управлять.
#sql
Читать статью
В этой статье мы расскажем, для чего используется AUTO_INCREMENT и как им управлять.
#sql
Читать статью
Telegraph
Работа со столбцами AUTO_INCREMENT в MySQL
Автоинкремент позволяет автоматически генерировать уникальный номер каждый раз, когда в таблицу добавляется новая запись. Эта функция особенно полезна для поля первичного ключа, чтобы ключ автоматически устанавливался при каждом добавлении новой записи. Хотя…
Сколько записей вернет следующий PostgreSQL запрос:
VALUES (11), (22), (33) INTERSECT VALUES (55), (33), (33);
VALUES (11), (22), (33) INTERSECT VALUES (55), (33), (33);
Anonymous Quiz
34%
1
23%
2
21%
3
6%
Ничего из перечисленного
17%
Посмотреть ответы
#вопрос12
Таблица
Таблица
employee имеет две колонки: emp_name и emp_id. Какой результат возвратит следующий SQL запрос:SELECT emp_name FROM employee ORDER BY 2 DESC;#вопросы #собеседование
Ответ на #вопрос12
В запросе выше, даже с учетом того, что таблица
#вопросы #собеседование
ORDER BY 2 сработает только в том случае, когда в SELECT указаны по крайней мере две колонки. В запросе выше, даже с учетом того, что таблица
employee содержит 2 колонки, выбирается только 1 колонка. Поэтому такой запрос будет выдавать ошибку. #вопросы #собеседование