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
#Вопросы_с_собеседования

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

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

Этот запрос определяет размер базы данных в мегабайтах путем вычисления суммарного количества страниц, выделенных для базы данных и вычисления размера в мегабайтах. Результат будет показан в столбце MB.
👍10
Узнать объем памяти базы данных с помощью SQL

Нужно заменить 'имя_базы_данных' на название вашей базы данных. Результатом будет суммарный размер всех таблиц в базе данных, выраженный в байтах.
❤‍🔥8👍6
Узнаем размер файла с помощью SQL

В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию DATALENGTH, которая вернет размер данных в байтах.

Где MyFileColumn - это столбец таблицы, в котором хранится файл, MyTable - это имя таблицы, а ID = 1 - это условие выборки конкретной записи из таблицы.
❤‍🔥5👍5
Сработает ли данный запрос?

Ответ:
Здесь всё очень просто. При вставке строчек в таблицу количество полей при объявлении не соответствует количеству вставляемых значений в конструкции values. Это должен знать даже начинающий SQL-разработчик.
👍23🎄2
Функция EXTRACT()

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

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

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

Как скопировать данные из одной таблицы в другую?

Ответ на картинке.
👍18
Сработает ли данный запрос?

Ответ:
Запрос не отработает. Конструкция HAVING не может использоваться при удалении строк. Она используется только при операции SELECT и чаще всего вместе с группировкой строк (GROUP BY). Эта задачка рассчитана на новичков. Опытный SQLщик сразу ответит на вопрос.
👍23
Сработает ли данный запрос?

Ответ:
Вопрос нацелен на то, чтобы сбить с толку кандидата. На практике при операции join в большинстве случаев выполняется жесткое сопоставление одного поля в одной таблице с другим полем во второй. Например, t.field1 = tt.field1. В данном же случае запрос отработает.

В этом примере выполняется сначала декартово произведение всех строк одной таблице со всем строками другой и затем применяется условие, что tt.field1 = 1. Такое написание допустимо, хотя и редко где применяется. Неопытные data-инженеры часто впадают в ступор на этой задаче.
👍13
#Вопросы_с_собеседования

Добавьте в таблицу table1 поле status

Ответ на картинке.
👍9
Узнаем кол-во всех ячеек в таблице с помощью SQL

Для выполнения этой задачи вам понадобится использовать стандартный SQL запрос COUNT(*).

Замените your_table_name на фактическое имя вашей таблицы. Результатом выполнения этого запроса будет одна строка с одним столбцом cell_count, содержащим общее количество ячеек в таблице.
👍13😁5
#Вопросы_с_собеседования

При выборке из таблицы workers создайте новое поле res, в котором будет строка 'eee'.

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

Даны две таблицы: таблица category и таблица sub_category с полями id и name. Достаньте одним запросом названия категорий и подкатегорий.

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

Как вставить нескольких строк одним запросом?

В данном примере мы одним SQL-запросом добавим 3 записи.
👍18🎄1
Узнаем дату последнего редактирования БД с поомщью SQL

Здесь мы используем системную таблицу sys.databases, которая содержит информацию о всех базах данных в SQL Server. Колонка modify_date указывает на дату и время последнего изменения базы данных.
👍19
Соединяем 3 таблицы по одному одинаковому столбцу

В этом примере используется оператор JOIN для объединения таблицы table1 со столбцом column_name таблицы table2, а также с таблицей table3. Здесь column_name - это общий столбец, по которому происходит соединение таблиц.
👍15🔥1
#Вопросы_с_собеседования

Напишите SQL-запрос, который найдет суммарное количество заказов и общую сумму продаж для каждого месяца за последние 6 месяцев, и отобразит результаты только для тех месяцев, в которых было совершено более 100 заказов?

В этом примере мы используем функцию DATE_TRUNC для округления даты до месяца. Затем мы считаем общее количество заказов с помощью функции COUNT и общую сумму продаж с помощью функции SUM. Затем мы используем выражение HAVING для фильтрации только тех месяцев, где количество заказов превышает 100. Наконец, мы сортируем результаты по месяцам с помощью выражения ORDER BY.
👍12❤‍🔥1
#Вопросы_с_собеседования

При выборке из таблицы workers получите последние 5 символов поля denoscription

Ответ на картинке.
👍13❤‍🔥2
#Вопросы_с_собеседования

Дана таблица tbl и поля nmbr со следующими значениями: 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1

Напишите запрос, чтобы установить 2 вместо 0 и установить 3 вместо 1.
👍15