В этом уроке я покажу, что такое подзапросы в DataLens, как их подключить и где можно использовать.
А вы знаете, что в DataLens существуют еще подзапросы? И что с их помощью можно организовать дополнительную фильтрацию данных еще на этапе датасетов? Если нет, то давайте посмотрим, что же это такое. Но для начала разберемся с общим поднятием подзапросов.
Что такое подзапросы SQL?
Подзапросы в SQL – это запросы, которые содержатся в предложении WHERE или HAVING другого оператора SQL. Они используются для получения данных из двух и более таблиц и для возвращения данных, которые будут использоваться в основном запросе в качестве условия для ограничения получаемых данных.
Типы вложенных запросов:
- Вложенный запрос, возвращающий одно значение.
- Вложенный запрос, возвращающий несколько значений.
- Соотнесённый (коррелирующий) подзапрос.
Обработка вложенных запросов:
- Простые вложенные подзапросы обрабатываются системой «снизу вверх».
- Коррелированные вложенные подзапросы обрабатываются системой в обратном порядке.
Особенности вложенных запросов:
- Вложенный запрос всегда заключается в круглые скобки.
- Таблица результатов вложенного запроса всегда состоит из одного столбца.
- Во вложенный запрос не может входить предложение ORDER BY.
- Вложенный запрос не может заканчиваться в функции.
Синтаксис вложенных запросов:
- Вложенный запрос, возвращающий одно значение: SELECT список_полей FROM имя_табл1 WHERE имя_поля1 = (SELECT имя_поля2 FROM имя_табл2 WHERE условие).
- Вложенный запрос, возвращающий несколько значений: SELECT список_полей FROM имя_табл1 WHERE имя_поля1 IN (SELECT имя_поля2 FROM имя_табл2 WHERE условие).
- Соотнесённый (коррелирующий) подзапрос: SELECT список_полей FROM имя_табл1 WHERE имя_поля1 IN (SELECT имя_поля2 FROM имя_табл2 WHERE имя_табл1.поле=имя_табл2.поле).
Словом, это запросы к таблицам баз данных. Поэтому, как уже очевидно, подзапросы используются для отбора данных только для баз данных, к которым у вас есть подключение (например, Clickhouse или PostgreSQL). Для других источников это уже работать не будет. Но чтобы такая опция вообще появилась, ее надо включить.
Как включить подзапросы в DataLens?
Это делается на этапе создания или редактирования подключения к БД. Достаточно просто выбрать соответствующую опцию.
![](https://biba.pro/wp-content/uploads/2024/05/image.png)
Как создать подзапрос в DataLens?
Ну а теперь давайте напишем SQL запрос к БД прямо в датасете. Создаем новый датасет, выбираем БД и просто нажимаем Добавить. У нас открывается окно для написания запросов к таблицам из выбранной базы данных.
![](https://biba.pro/wp-content/uploads/2024/05/image-1.png)
![](https://biba.pro/wp-content/uploads/2024/05/image-2.png)
Вот и все. Теперь вы можете организовать дополнительную фильтрацию данных еще на этапе датасета или, наоборот, консолидацию данных из разных таблиц.
Более подробно о том, как именно сделать это, смотрите в подробном видеоуроке ниже.
Более подробно, как это сделать, можно посмотреть тут.
Если вам понравился урок, то можете поддержать проект по кнопке ниже. Это очень поможет делать для вас больше интересных и полезных выпусков. Спасибо!
Задать вопросы и обсудить волнующие темы про аналитику данных теперь можно на нашем форуме.
Если вам понравился урок, подписывайтесь на канал или группу и ставьте лайки. А также пишите в комментариях свои кейсы или вопросы. Самые интересные мы обязательно разберем.