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
Функция YEARWEEK()

Функция YEARWEEK() возвращает номер года и недели (число от 0 до 53) для данной даты.
👍7
#Вопросы_с_собеседования

Какой оператор имеет больший приоритет AND или OR (если они используются совместно)?

Ответ:
AND имеет больший приоритет, нежели OR.
👍21😱4
Функция ABS()

Функция ABS() возвращает абсолютное (положительное) значение числа.

Синтаксис:
ABS(number).
👍13🔥2
Удаление лишних пробелов в строке с использованием REGEX.

Предположим, есть строка, содержащая такой текст:
This is a test string

Требуется удалить из строки лишние пробелы.

Решение задачи приведено на картинке.
👍12🔥1
Функция ADDDATE()

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

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

Опишите разницу типов данных DATETIME и TIMESTAMP

DATETIME предназначен для хранения целого числа: YYYYMMDDHHMMSS. И это время не зависит от временной зоны, настроенной на сервере. Размер: 8 байт

TIMESTAMP хранит значение равное количеству секунд, прошедших с полуночи 1 января 1970 года по усреднённому времени Гринвича. При получении из базы отображается с учётом часового пояса. Размер: 4 байта
👍14
Функция FIND_IN_SET()

Функция FIND_IN_SET() возвращает положение строки в списке строк.

Подробнее ознакомиться с функцией можно здесь.
👍6🔥1
#Вопросы_с_собеседования

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

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

Несколько примеров агрегатных функций: 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