#Вопросы_с_собеседования
Что такое сущности и отношения?
Объект представляет собой абстракцию набора связанных данных и представлен в виде таблиц . Отношения определяют, как объекты связаны друг с другом.
Например, предположим, что у нас есть две таблицы с именами orders и users. Наши orders и users являются нашими сущностями.
Мы можем представить, что у одного пользователя может быть много заказов. Таким образом, пользователи могут иметь отношения «один ко многим» с заказами. Сущности и отношения часто используются в процессе разработки схемы таблицы. Понимая, как определять объекты и отображать их отношения, вы показываете, что можете продуктивно работать в коллективном сеансе проектирования таблиц базы данных.
Что такое сущности и отношения?
Например, предположим, что у нас есть две таблицы с именами orders и users. Наши orders и users являются нашими сущностями.
Мы можем представить, что у одного пользователя может быть много заказов. Таким образом, пользователи могут иметь отношения «один ко многим» с заказами. Сущности и отношения часто используются в процессе разработки схемы таблицы. Понимая, как определять объекты и отображать их отношения, вы показываете, что можете продуктивно работать в коллективном сеансе проектирования таблиц базы данных.
👍11
#Вопросы_с_собеседования
Напишите SQL-запрос, который найдет суммарное количество заказов и общую сумму продаж для каждого месяца за последние 6 месяцев, и отобразит результаты только для тех месяцев, в которых было совершено более 100 заказов?
В этом примере мы используем функцию
Напишите SQL-запрос, который найдет суммарное количество заказов и общую сумму продаж для каждого месяца за последние 6 месяцев, и отобразит результаты только для тех месяцев, в которых было совершено более 100 заказов?
В этом примере мы используем функцию
DATE_TRUNC
для округления даты до месяца. Затем мы считаем общее количество заказов с помощью функции COUNT
и общую сумму продаж с помощью функции SUM
. Затем мы используем выражение HAVING
для фильтрации только тех месяцев, где количество заказов превышает 100. Наконец, мы сортируем результаты по месяцам с помощью выражения ORDER BY
.👍8
#Вопросы_с_собеседования
❓Для чего используются агрегатные функции?
Агрегатные функции используются для выполнения вычислений на одном или нескольких значениях и возвращают одиночное значение с осмысленной информацией.
Несколько примеров агрегатных функций:
❓Для чего используются агрегатные функции?
Агрегатные функции используются для выполнения вычислений на одном или нескольких значениях и возвращают одиночное значение с осмысленной информацией.
Несколько примеров агрегатных функций:
COUNT(), SUM(), MAX(), MIN(), AVG() и ROUND().
👍6
Какой результат вернет следующий PostgreSQL/MySQL запрос:
SELECT GREATEST (6.62, - 8, '82') ;
SELECT GREATEST (6.62, - 8, '82') ;
Anonymous Quiz
24%
6.62
6%
- 8
28%
82
23%
Ошибка
19%
Посмотреть ответы
👍6
#Вопросы_с_собеседования
Что не так с этим запросом?
Неверное выражение BillingYear в условии WHERE. Несмотря на то, что он определен как алиас в выборке SELECT перед WHERE, логический порядок обработки условий отличается. Программисты привыкли к тому, что операторы выполняются сверху вниз или слева направо, но в T-SQL это происходит в другом порядке.
Что не так с этим запросом?
👍9
#Вопросы_с_собеседования
Как найти дубли в поле email?
Функция COUNT() возвращает количество строк из поля email. Оператор HAVING работает почти так же, как и WHERE, вот только применяется не для всех столбцов, а для набора, созданного оператором GROUP BY.
Как найти дубли в поле email?
Функция COUNT() возвращает количество строк из поля email. Оператор HAVING работает почти так же, как и WHERE, вот только применяется не для всех столбцов, а для набора, созданного оператором GROUP BY.
👍8😁1
#Вопросы_с_собеседования
Что такое внешний ключ?
Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.
В нашем случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.
Что такое внешний ключ?
Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.
В нашем случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.
👍7😁1
✅ Как настроить реакцию на изменения в таблицах Postgres?
Как передать эти изменения в микросервисы, в Kafka и в другие СУБД, например в Clickhouse?
Расскажем на открытом уроке «Событийная интеграция Postgres» посвященный курсу «PostgreSQL для администраторов баз данных и разработчиков»
✅ Научитесь выбирать правильный способ событийной интеграции
✅ Посмотрите, как и что можно реализовать для надежной передачи данных из Postgres во внешние системы
👉Узнаете про опыт других предприятий и протестируйте обучение на открытом уроке
https://tglink.io/1aeaa13b7a55?erid=2W5zFJmzZdJ
#реклама
О рекламодателе
Как передать эти изменения в микросервисы, в Kafka и в другие СУБД, например в Clickhouse?
Расскажем на открытом уроке «Событийная интеграция Postgres» посвященный курсу «PostgreSQL для администраторов баз данных и разработчиков»
✅ Научитесь выбирать правильный способ событийной интеграции
✅ Посмотрите, как и что можно реализовать для надежной передачи данных из Postgres во внешние системы
👉Узнаете про опыт других предприятий и протестируйте обучение на открытом уроке
https://tglink.io/1aeaa13b7a55?erid=2W5zFJmzZdJ
#реклама
О рекламодателе
Разворачиваем MySQL: установка и настройка
MySQL на сегодняшний день является одной из наиболее распространенных в мире. Достаточно сказать, что по рейтингам 2021 года данная СУБД лишь немного уступала Oracle.
Смотреть статью
MySQL на сегодняшний день является одной из наиболее распространенных в мире. Достаточно сказать, что по рейтингам 2021 года данная СУБД лишь немного уступала Oracle.
Смотреть статью
Хабр
Разворачиваем MySQL: установка и настройка
MySQL на сегодняшний день является одной из наиболее распространенных в мире. Достаточно сказать, что по рейтингам 2021 года данная СУБД лишь немного уступала Oracle. В серии из трех статей мы...
👍5
Какой результат вернёт данный запрос(PostgreSQL)?
SELECT (20/25)*25.0;
SELECT (20/25)*25.0;
Anonymous Quiz
14%
25.0
3%
25
7%
125
18%
0
33%
Запрос не выполнится
25%
Узнать ответ
😁7👍6
Векторный поиск в YDB
Новая возможность в СУБД от Яндекса: поиск по семантическому сходству. Данные (текст, изображения, аудио, видео) преобразуются в эмбеддинги и индексируются.
Поддерживаются два режима — точный и приближенный. Второй рассчитан на большие объёмы и работает быстрее за счёт снижения точности. Векторный поиск доступен для использования в облаке и on-premises.
Читать статью
Новая возможность в СУБД от Яндекса: поиск по семантическому сходству. Данные (текст, изображения, аудио, видео) преобразуются в эмбеддинги и индексируются.
Поддерживаются два режима — точный и приближенный. Второй рассчитан на большие объёмы и работает быстрее за счёт снижения точности. Векторный поиск доступен для использования в облаке и on-premises.
Читать статью
Какой запрос возвратит работников с зарплатой >=2500 и <=4500?
Anonymous Quiz
59%
SELECT * FROM employees WHERE salary BETWEEN 2500 AND 4500;
7%
SELECT * FROM employees WHERE salary > 2499 AND < 4501;
10%
SELECT * FROM employees WHERE salary IN (2500, 4500);
21%
SELECT * FROM employees WHERE salary > 2499 AND salary < 4501;
3%
Посмотреть ответы
👍12
Что покажет следующий запрос:
select * from Orders where date between '2017-01-01' and '2017-12-31'
select * from Orders where date between '2017-01-01' and '2017-12-31'
Anonymous Quiz
7%
Все данные по заказам, совершенным за 2017 год, за исключением 01 января 2017 года
14%
Все данные по заказам, совершенным за 2017 год, за исключением 31 декабря 2017 года
69%
Все данные по заказам, совершенным за 2017 год
6%
Ничего: запрос составлен неверно
4%
Посмотреть ответ
👍5😁3
Разница между using и on в join-запросах
Join-запросы используются для объединения данных из нескольких таблиц в один результат. В MySQL для этого можно использовать конструкции using и on. Обе конструкции используются для указания условий объединения таблиц, но они имеют некоторые различия.
1 - Конструкция using используется, когда объединение происходит по столбцу, имеющему одинаковое имя в обеих таблицах.
2 - Конструкция on используется, когда объединение происходит по каким-то другим условиям.
Конструкция using удобна в случаях, когда объединение происходит по столбцам с одинаковыми именами, а on - в случаях, когда объединение происходит по другим условиям.
Join-запросы используются для объединения данных из нескольких таблиц в один результат. В MySQL для этого можно использовать конструкции using и on. Обе конструкции используются для указания условий объединения таблиц, но они имеют некоторые различия.
1 - Конструкция using используется, когда объединение происходит по столбцу, имеющему одинаковое имя в обеих таблицах.
2 - Конструкция on используется, когда объединение происходит по каким-то другим условиям.
Конструкция using удобна в случаях, когда объединение происходит по столбцам с одинаковыми именами, а on - в случаях, когда объединение происходит по другим условиям.
👍6
Все о команде COLLATE в SQL
Команда COLLATE в SQL используется для указания правил сортировки и сравнения символов при выполнении операций сравнения в запросах.
Существует несколько вариантов значений, которые можно использовать в команде COLLATE, включая:
- _CS - с учетом регистра
- _CI - без учета регистра
- _AS - с учетом локали (language sensitive)
- _AI - без учета локали (language insensitive)
Примеры:
- Cyrillic_General_CS_AS - с учетом регистра и локали для кириллицы
- Latin1_General_CI_AI - без учета регистра и локали для латиницы
Команда COLLATE в SQL используется для указания правил сортировки и сравнения символов при выполнении операций сравнения в запросах.
Существует несколько вариантов значений, которые можно использовать в команде COLLATE, включая:
- _CS - с учетом регистра
- _CI - без учета регистра
- _AS - с учетом локали (language sensitive)
- _AI - без учета локали (language insensitive)
Примеры:
- Cyrillic_General_CS_AS - с учетом регистра и локали для кириллицы
- Latin1_General_CI_AI - без учета регистра и локали для латиницы
👍5
Count (1) вместо count (*)
При любой возможности выбирайте count(1) вместо count(*). Оператор count(*) принимает в расчет все столбцы таблицы для выполнения вычислений, тогда как count(1) учитывает только первый столбец.
Обратите внимание, что результат остается неизменным, будь то count (*) или count (1).
При использовании count(1) движок базы данных задействует меньше ресурсов и работает быстрее. В случае небольших таблиц эта разница будет незаметна, но если дело касается больших из них, то данный фактор существенно отразится на производительности запросов.
При любой возможности выбирайте count(1) вместо count(*). Оператор count(*) принимает в расчет все столбцы таблицы для выполнения вычислений, тогда как count(1) учитывает только первый столбец.
Обратите внимание, что результат остается неизменным, будь то count (*) или count (1).
При использовании count(1) движок базы данных задействует меньше ресурсов и работает быстрее. В случае небольших таблиц эта разница будет незаметна, но если дело касается больших из них, то данный фактор существенно отразится на производительности запросов.
👍19
#Вопросы_с_собеседования
Что такое сущности и отношения в SQL?
В SQL, сущности (или таблицы) - это коллекции данных, которые содержат информацию о конкретных объектах или событиях. Каждая сущность представляет собой набор атрибутов, которые описывают свойства объекта или события.
Отношения в SQL - это связи между сущностями. Они описывают, как данные в одной таблице связаны с данными в другой таблице. Отношения в SQL могут быть один к одному, один ко многим, многие к одному и многие ко многим.
Например, предположим, что у нас есть две таблицы:
"Клиенты" и "Заказы". Каждый клиент может иметь множество заказов, но каждый заказ может принадлежать только одному клиенту. Это описывает отношение "один ко многим" между таблицами "Клиенты" и "Заказы".
Что такое сущности и отношения в SQL?
В SQL, сущности (или таблицы) - это коллекции данных, которые содержат информацию о конкретных объектах или событиях. Каждая сущность представляет собой набор атрибутов, которые описывают свойства объекта или события.
Отношения в SQL - это связи между сущностями. Они описывают, как данные в одной таблице связаны с данными в другой таблице. Отношения в SQL могут быть один к одному, один ко многим, многие к одному и многие ко многим.
Например, предположим, что у нас есть две таблицы:
"Клиенты" и "Заказы". Каждый клиент может иметь множество заказов, но каждый заказ может принадлежать только одному клиенту. Это описывает отношение "один ко многим" между таблицами "Клиенты" и "Заказы".
👍6