Выберите правильный пример запроса с использованием UNION:
Anonymous Quiz
19%
SELECT id, city FROM Orders ORDER BY id UNION SELECT id, city FROM Sellers ORDER BY city;
7%
SELECT id, city, seller_id FROM Orders AND UNION SELECT id, city FROM Sellers ORDER BY id;
56%
SELECT id, city FROM Orders UNION SELECT id, city FROM Sellers ORDER BY id;
9%
Все запросы верные
9%
Узнать ответ
👍8❤🔥1
EdgeDB — open-source БД с декларативной схемой, встроенной системой миграции и языком запросов нового поколения
—
EdgeDB — это БД, поддерживающая сложные иерархические запросы; EdgeDB собрала в себе лучшее реляционных БД, графовых БД и ORM.
🖥 GitHub
🟡 Доки
—
curl https://sh.edgedb.com --proto '=https' -sSf1 | shEdgeDB — это БД, поддерживающая сложные иерархические запросы; EdgeDB собрала в себе лучшее реляционных БД, графовых БД и ORM.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Вопросы_с_собеседования
Как SQL-запрос с использованием операторов JOIN может быть оптимизирован для ускорения выполнения, если одна из таблиц содержит миллионы записей, а другая – только несколько сотен? Опишите три различных подхода к оптимизации
Использование Индексов: Создание индексов на столбцах, участвующих в JOIN, может значительно ускорить процесс, особенно на столбцах большой таблицы. Если JOIN выполняется по столбцу, который является первичным ключом или имеет уникальный индекс, это обычно обеспечивает наилучшую производительность.
Оптимизация Порядка JOIN: Порядок, в котором таблицы соединяются в запросе, может влиять на производительность. Лучше начинать с таблицы с наименьшим количеством строк (в данном случае, таблицы с несколькими сотнями записей), что может уменьшить количество обрабатываемых данных на более ранней стадии выполнения запроса.
Использование Подзапросов или CTE (Common Table Expressions): В некоторых случаях, использование подзапросов или CTE для предварительной фильтрации данных перед выполнением JOIN может быть эффективным. Например, можно сначала выделить необходимые данные из меньшей таблицы с помощью подзапроса или CTE, а затем выполнить JOIN с большей таблицей. Это может сократить количество обрабатываемых данных и ускорить выполнение запроса.
Каждый из этих подходов может помочь в оптимизации запросов SQL, особенно когда речь идет о соединении таблиц с большим различием в размерах.
Как SQL-запрос с использованием операторов JOIN может быть оптимизирован для ускорения выполнения, если одна из таблиц содержит миллионы записей, а другая – только несколько сотен? Опишите три различных подхода к оптимизации
Использование Индексов: Создание индексов на столбцах, участвующих в JOIN, может значительно ускорить процесс, особенно на столбцах большой таблицы. Если JOIN выполняется по столбцу, который является первичным ключом или имеет уникальный индекс, это обычно обеспечивает наилучшую производительность.
Оптимизация Порядка JOIN: Порядок, в котором таблицы соединяются в запросе, может влиять на производительность. Лучше начинать с таблицы с наименьшим количеством строк (в данном случае, таблицы с несколькими сотнями записей), что может уменьшить количество обрабатываемых данных на более ранней стадии выполнения запроса.
Использование Подзапросов или CTE (Common Table Expressions): В некоторых случаях, использование подзапросов или CTE для предварительной фильтрации данных перед выполнением JOIN может быть эффективным. Например, можно сначала выделить необходимые данные из меньшей таблицы с помощью подзапроса или CTE, а затем выполнить JOIN с большей таблицей. Это может сократить количество обрабатываемых данных и ускорить выполнение запроса.
Каждый из этих подходов может помочь в оптимизации запросов SQL, особенно когда речь идет о соединении таблиц с большим различием в размерах.
👍14🔥2
#Вопросы_с_собеседования
❓Отработает ли данный запрос?
Ответ:
Нет, не отработает. Опытный data-инженер знает, что row_number() — это часть аналитической функции, которая не может быть применена сама по себе. Аналитические функции используются только в конcтрукциях SELECT или ORDER BY.
❓Отработает ли данный запрос?
Ответ:
👍17
Узнаем размер файла с помощью SQL
В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию
Где
В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию
DATALENGTH, которая вернет размер данных в байтах.Где
MyFileColumn - это столбец таблицы, в котором хранится файл, MyTable - это имя таблицы, а ID = 1 - это условие выборки конкретной записи из таблицы.❤🔥5👍5
Сработает ли данный запрос?
Ответ:
Вопрос нацелен на то, чтобы сбить с толку кандидата. На практике при операции join в большинстве случаев выполняется жесткое сопоставление одного поля в одной таблице с другим полем во второй. Например, t.field1 = tt.field1. В данном же случае запрос отработает.
В этом примере выполняется сначала декартово произведение всех строк одной таблице со всем строками другой и затем применяется условие, что tt.field1 = 1. Такое написание допустимо, хотя и редко где применяется. Неопытные data-инженеры часто впадают в ступор на этой задаче.
Ответ:
В этом примере выполняется сначала декартово произведение всех строк одной таблице со всем строками другой и затем применяется условие, что tt.field1 = 1. Такое написание допустимо, хотя и редко где применяется. Неопытные data-инженеры часто впадают в ступор на этой задаче.
👍13
Какое выражение истинно в SQL?
Anonymous Quiz
31%
NULL = NULL
18%
NULL != NULL
2%
NULL > NULL
36%
Ничего из перечисленного
13%
Посмотреть ответы
👍16
Узнаем кол-во всех ячеек в таблице с помощью SQL
Для выполнения этой задачи вам понадобится использовать стандартный SQL запрос COUNT(*).
Замените your_table_name на фактическое имя вашей таблицы. Результатом выполнения этого запроса будет одна строка с одним столбцом cell_count, содержащим общее количество ячеек в таблице.
Для выполнения этой задачи вам понадобится использовать стандартный SQL запрос COUNT(*).
Замените your_table_name на фактическое имя вашей таблицы. Результатом выполнения этого запроса будет одна строка с одним столбцом cell_count, содержащим общее количество ячеек в таблице.
👍13😁5
#Вопросы_с_собеседования
❓При выборке из таблицы workers создайте новое поле res, в котором будет строка 'eee'.
Ответ на картинке.
❓При выборке из таблицы workers создайте новое поле res, в котором будет строка 'eee'.
Ответ на картинке.
👍10
#Вопросы_с_собеседования
❓Даны две таблицы: таблица category и таблица sub_category с полями id и name. Достаньте одним запросом названия категорий и подкатегорий.
Ответ на картинке.
❓Даны две таблицы: таблица category и таблица sub_category с полями id и name. Достаньте одним запросом названия категорий и подкатегорий.
Ответ на картинке.
👍10😁1
#Вопросы_с_собеседования
❓Как вставить нескольких строк одним запросом?
В данном примере мы одним SQL-запросом добавим 3 записи.
❓Как вставить нескольких строк одним запросом?
В данном примере мы одним SQL-запросом добавим 3 записи.
👍18🎄1