SQL и БД Learning – Telegram
SQL и БД Learning
10.2K subscribers
797 photos
9 videos
22 files
445 links
№ 5060218708

Изучаем SQL с нуля

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
#Вопросы_с_собеседования

Для чего используются агрегатные функции?

Агрегатные функции используются для выполнения вычислений на одном или нескольких значениях и возвращают одиночное значение с осмысленной информацией.

Несколько примеров агрегатных функций: COUNT(), SUM(), MAX(), MIN(), AVG() и ROUND().
👍8🔥2😱1
Функция SUBDATE()

Функция SUBDATE() вычитает интервал времени/даты из даты, а затем возвращает дату.

В нашем примере функция вычитает 10 дней из даты и возвращает измененную дату.

Синтаксис:
SUBDATE(date, INTERVAL value unit)
или
SUBDATE(date, days).
👍20
#Вопросы_с_собеседования

Какие параметры используются в конструкции order by?

Ответ:
ASC и DESC.
👍16🔥1
#Вопросы_с_собеседования

Отработает ли данный запрос?

Ответ:
Нет, не отработает. Опытный data-инженер знает, что row_number() — это часть аналитической функции, которая не может быть применена сама по себе. Аналитические функции используются только в конcтрукциях SELECT или ORDER BY.
👍17
Функция EXTRACT()

Функция EXTRACT() извлекает часть из заданной даты.

В нашем примере функция извлекает месяц из даты.

Синтаксис:
EXTRACT(part FROM date).
👍12
#Вопросы_с_собеседования

Как GROUP BY обрабатывает значение NULL?

Ответ:
При использовании GROUP BY все значения NULL считаются равными.
👍14
Функция MAKETIME()

Функция MAKETIME() создает и возвращает время, основанное значение час, минут и секунд.

Синтаксис:
MAKETIME(hour, minute, second).
👍16
#Вопросы_с_собеседования

Какие ещё ограничения вы знаете, как они работают и указываются?

SQL-ограничения (constraints) указываются при создании или изменении таблицы. Это правила для ограничения типа данных, которые могут храниться в таблице. Действие с данными не будет выполнено, если нарушаются установленные ограничения.

UNIQUE — гарантирует уникальность значений в столбце;
NOT NULL — значение не может быть NULL;
INDEX — создаёт индексы в таблице для быстрого поиска/запросов;
CHECK — значения столбца должны соответствовать заданным условиям;
DEFAULT — предоставляет столбцу значения по умолчанию.
👍7🔥2
Функция DAYNAME()

Функция DAYNAME() возвращает имя дня недели для заданной даты.

Синтаксис:
DAYNAME(date).
👍15
#Вопросы_с_собеседования

В чем разница между COUNT(*) и COUNT({column})?

COUNT (*) подсчитывает количество записей в таблице, не игнорируя значение NULL, поскольку эта функция оперирует записями, а не столбцами.

COUNT ({column}) подсчитывает количество значений в {column}. При подсчете количества значений столбца эта форма функции COUNT не принимает во внимание значение NULL.
👍18
#Вопросы_с_собеседования

Отработает ли данный запрос?

Ответ:
Да, отработает. Такое написание синтаксиса допускается в SQL. В этом случае выполняется декартово произведение всех строк одной таблицы со всеми строками другой. Если её обогатить ещё конструкцией where с сопоставлением полей в таблицах table1 и table2, то получится классический inner join.

На самом деле, это старый синтаксис внутреннего соединения таблиц. Обычно вместо нее рекомендуется использовать inner join или cross join из соображений оптимизации запросов.
👍19
Задача

При выборке из таблицы workers прибавьте к дате 4 дня, 3 часа, 2 минуты, 1 секунду.

Ответ на картинке.
👍20
#Вопросы_с_собеседования

Что делает оператор EXISTS?

Ответ:
EXISTS берет подзапрос, как аргумент, и оценивает его как TRUE, если подзапрос возвращает какие-либо записи и FALSE, если нет.
👍22
Задача

При выборке из таблицы workers отнимите от даты 1 год.

Ответ на картинке.
👍17
#Вопросы_с_собеседования

Что делает оператор MERGE?

Ответ:
MERGE позволяет осуществить слияние данных одной таблицы с данными другой таблицы. При слиянии таблиц проверяется условие, и если оно истинно, то выполняется UPDATE, а если нет - INSERT. При этом изменять поля таблицы в секции UPDATE, по которым идет связывание двух таблиц, нельзя.
👍15
#Вопросы_с_собеседования

Что делают псевдонимы Aliases?

SQL-псевдонимы нужны для того, чтобы дать временное имя таблице или столбцу. Это нужно, когда в запросе есть таблицы или столбцы с неоднозначными именами. В этом случае для удобства в составлении запроса используются псевдонимы. SQL-псевдоним существует только на время запроса.
👍15
Функция WEEKOFYEAR()

Функция WEEKOFYEAR() возвращает номер недели для заданной даты (число от 1 до 53).

Примечание: Эта функция предполагает, что первый день недели - Понедельник, а первая неделя года имеет более 3 дней.

Синтаксис
WEEKOFYEAR(date).
👍13
#Вопросы_с_собеседования

Напишите SQL запрос, чтобы напечатать имя отдельного работника у которого поле DOB составляет от 01/02/1965 до 31/11/1970.

Ответ на картинке.
👍17