Data Science. SQL hub
35.8K subscribers
922 photos
49 videos
37 files
980 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
🖥 Виды JOIN в SQL
В SQL-джойнах скрыто больше, чем можно подумать. Давайте разберем их.

Будем использовать две простые таблицы: компании companies и их вакансии jobs.

Есть три вымышленные компании — Hoogle, Emazon и Neta — которые предлагают на удивление мало вакансий:

Hoogle интересуется аналитиками данных. Emazon нанимает Go-разработчиков и ML-инженеров. У Neta нет вакансий. А какая-то ноунейм-компания с идентификатором 99 отчаянно разыскивает UI-дизайнера.

Время джойнить!

📌 Читать

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥43
🔥 Дайджест полезных материалов из мира SQL за неделю

Почитать:
Регулярные выражения в реальных задачах
О Prepare statements, серверном кэше скомпилированных запросов или как эффективно кэшировать запросы в YDB
Exploring Database Options for Java Applications
Fearless Multitenancy
User-Defined Functions in SQL: Expanding Your Database Toolkit
SQL Pro tips : AWS Athena SQL UNPIVOT : CROSS JOIN UNNEST
SQL Pro tips : GCP BigQuery SQL CROSS JOIN with UNPIVOT UNNEST
Exploring String Field Types in Databases: CHAR, VARCHAR, and TEXT
PostgreSQL Internals: A Deep Dive into the Inner Workings of a Powerful Relational Database
SQL - Optimize Your SQL Queries for Performance
SQL - Use Indexes Wisely for Performance Optimization
Performing SQL Commands

Посмотреть:
🌐 Разбор задачи с собеседования Data Science. Подготовка на практике ( 26:12)
🌐 Cобеседование #Python топовый банк Goldman Sachs Associate на 12000 $ #задача #программирование ( 01:00)
🌐 Facebook задача с собеседования на #Python на 120000 рублей #программирование #задача #код ( 00:59)
🌐 Разбора задачи с собеседования #Golang ( 00:22)
🌐 Django создание модели. Вывод даных на страницу ( 13:01)

Хорошего дня!
👍9🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Хотите запретить втсавку NULL в столбец и использовать вместо него значение по умолчанию?

В Oracle Database используйте:

CREATE TABLE ... ( <col> <datatype> DEFAULT ON NULL <expr> )

Если при INSERT опустить <col> или поместить в него NULL, то база данных использует вместо него <expr> по умолчанию.

#sql #tips #junior

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🥰32🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Хотите сравнить две таблицы и вернуть разные строки с помощью #SQL?

Вот простой способ это сделать:

SELECT <cols>
FROM ( SELECT 'T1' T, T1.* FROM T1 UNION ALL SELECT 'T2' T, T2.* FROM T2 )
GROUP BY <cols>
ЕСЛИ COUNT (*) <> 2


@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥53
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите получить в #SQL строку top-N для каждой группы? Например.

Лучшие результаты/экзамен
Самые высокооплачиваемые сотрудники/отдел
Лучший результат/команда

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

ROW_NUMBER () OVER (
PARTITION BY <group_cols> ORDER BY <sort_cols>
)

Затем отфильтруйте эти значения во внешнем запросе.


@sqlhub
👍7🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
Вы можете объединить строки из двух таблиц в одну с помощью UNION и UNION ALL

В чем разница?

UNION дедублирует данные, поэтому на выходе получается одна строка для каждого набора значений

UNION ALL сохраняет все строки из каждой таблицы.

#SQL

@sqlhub
👍16🔥32👎1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥Создание датасетов "на лету" в Oracle Database 23c с помощью конструктора значений таблицы

SELECT * FROM ( VALUES
( 'r1v1', 'r1v2' ), -- row1
( 'r2v1', 'r2v2' ), -- row2
--etc.
) tab_alias ( col1, co2l )


#SQL

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Выполнение логики IF/THEN в #SQL с помощью выражений CASE:

CASE
WHEN ... THEN ...
WHEN ... THEN ...
...
[ ELSE ... ]
END

Simple => Проверяем, равен ли селектор значению
Searched => Проверка любых условий

База данных обрабатывает их сверху вниз, возвращая первое истинное условие.

#SQL

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Как заблокировать строки?

С помощью

SELECT ... FOR UPDATE

Если другая транзакция заблокировала какую-либо из этих строк, то она блокируется.

Чтобы заблокировать следующие строки таблицы, игнорируя заблокированные данные, используйте

SELECT ... FOR UPDATE SKIP LOCKED

Это позволит обойти все строки, заблокированные другой транзакцией.

#SQL

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123🔥1😁1
🔥 Дайджест полезных материалов из мира SQL за неделю

Почитать:
Отправка и обработка HTTP запросов в PostgreSQL
Airflow vs NiFi: исследуем оркестратор для формирования витрин данных
Повышение эффективности SQL-запросов: советы и рекомендации
Top 10 Tools For SQL Writing For Students
How Randomized SQL Testing Can Help Detect Bugs?
SQL Joins Infographic
ACID and Transactions in SQL
SQL - Stored Procedures for Reusable and Secure SQL Code
SQLite Create Table If Not Exists: Conditional Table Creation
Text2SQL: Converting Natural Language to SQL
CRUD Operations in SQL
Should you use an enum column or a table to store allowed values in SQL?
7 Tips to Optimise Postgres query performance

Посмотреть:
🌐 Chatgpt, Bard , Claude, Theb - используй API лучших нейросетей бесплатно и без ВПН на Python. ( 05:23)
🌐 NLP практика. Определяем тональность текста при помощи NLTK и DL ( 19:37)
🌐 Задача, которая очень часто встречается на собеседованиях #python ( 00:59)
🌐 Хитрая задача с собеседования #Python ( 00:59)
🌐 Решение непростой задачи с Leetcode, часто всплывает на собеседования #pythontutorial ( 00:59)
🌐 Django шаблонизация и маршрутизация ( 09:11)

Хорошего дня!

@sqlhub
👍92🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 OrmGPT — ии-инструмент для работы с бд, разработанный на основе OpenAI.

Он переводит естественный язык в SQL запросы и выполняет их в базе данных.

На данный момент поддерживаются MySQL, PostgreSQL и SQLite.

Пример:

ormgpt.query("give me post with id 1, all comments for this post and user information about author");

Сгенерированный запрос:

SELECT
p.id AS post_id,
p.title,
p.body,
c.id AS comment_id,
c.body AS comment_body,
u.username AS author_username,
u.email AS author_email
FROM
posts p
JOIN comments c ON p.id = c.post_id
JOIN users u ON u.id = p.user_id
WHERE
p.id = 1;

Вывод:

[
{
post_id: 1,
title: 'Hello world!',
body: 'This is my first post!',
comment_id: 1,
comment_body: 'Hello world!',
author_username: 'test',
author_email: '[email protected]'
}
]


Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥64😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Как сбросить последовательность в Oracle Database?

ALTER SEQUENCE seq RESTART

Это возвращает последовательность к ее минимальному значению.

Добавьте предложение START WITH, чтобы начать с любого значения

ALTER SEQUENCE seq RESTART START WITH 42

#SQL

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1
🖥 PostgreSQL Course for Beginners

PostgreSQL - это база данных с открытым исходным кодом, обладающая широкими возможностями настройки.

Если вы хотите узнать, подходит ли она для ваших проектов, этот курс для начинающих поможет вам.

Вы узнаете об операторе SELECT, предложениях WHERE, агрегатных функциях и многом другом.

📌 Курс

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥42
🖥 Шпаргалка по различным базам данных в облачных сервисах и соответствующим им вариантам с открытым исходным кодом .

Выбор подходящей базы данных для своего проекта - сложная задача. Существует множество видов баз данных, каждая из которых подходит для разных случаев использования.

Данная шпаргалка поможет определить, какой сервис соответствует потребностям вашего проекта, и избежать возможных "подводных камней".

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122🔥1
🖥 Fake2db - это инструмент, который предназначен для создания и заполнения фиктивных данных в игрушечных базах данных.

Он предназначен для использования в тестировании и поддерживает работу с такими базами данных, как sqlite, mysql, postgresql, mongodb, redis и couchdb.

pip install fake2db

📌 GitHub

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍213🔥3
🔥 Дайджест полезных материалов из мира SQL за неделю

Почитать:
Построение OLAP-запросов с использованием аналитических функций
7 концепций SQL, которые необходимо знать для работы с данными
Агент пожизненного обучения, который играет в Minecraft и непрерывно совершенствуется.
How to Connect Java Applications to Databases with JDBC
Entendendo o WHERE e o ORDER BY
Exploring Ways of Performance Tuning Your Postgresql Database
Implementing distributed Flink SQL gateway based on Kyuubi
What do front-end developers think of no-code DataViz tools?
Incubate Your SQL Optimizer Using Egg
Schemas em SQL: Indexes e B+ trees
Sql Service Broker
Deleting a Column in SQL: Everything You Need to Know
The RETURNING clause in SQL

Посмотреть:
🌐 Пишем телеграм бота для скачивания #yotube видео ( 20:41)
🌐 Алгоритм бинарного поиска на #C++ ( 00:59)
🌐 Очередь с приоритетом разбор задачи на #C++ ( 01:00)
🌐 Задача на поиск числа с leetcode на С++ ( 01:00)
🌐 Задача с #leetcode решаем на #golang ( 00:32)
🌐 Разбор задачи на содержание массива #С++ ( 00:59)
🌐 Django гайд по формам ( 10:32)
🌐 New Azure SQL Database free offer | Data Exposed

Хорошего дня!

@sqlhub
👍12🔥21
This media is not supported in your browser
VIEW IN TELEGRAM
🔎 Поиск последних изменений в таблице в Oracle Database с помощью запроса

SELECT ... FROM ... VERSIONS BETWEEN TIMESTAMP <start_dt> AND <end_dt>

Возвращаются изменения в диапазоне дат.

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Типы баз данных в 1 картинке!

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍215🔥4
🖥 SQLMesh - это фреймворк для преобразования данных, который позволяет командам, работающим с данными, использовать преимущества DevOps. Она позволяет ученым, аналитикам и инженерам эффективно выполнять и развертывать преобразования данных, написанные на SQL или Python.

SQLMesh обеспечивает точность и эффективность построения конвейеров данных с помощью пробвинутого решения DataOps для преобразования, тестирования и совместной работы.

Виртуальные среды данных позволяют команде разработчиков создавать динамические представления данных, гарантируя, что таблицы не будут создаваться более одного раза. Модульные тесты, аудиты и Data Diff обеспечивают проверку на протяжении всего рабочего процесса разработки, что позволяет легко работать с данными.

pip install sqlmesh

Github
Подробнее
Документация

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Хотите проиндексировать атрибуты, хранящиеся в массиве #JSON?

В Oracle Database 21c это можно сделать с помощью функции

CREATE MULTIVALUE INDEX ...
ON t ( t.col.json_array_path[*]... ).


Затем база данных может использовать его для обработки SQL-запросов JSON_exists с поиском пути к массиву.

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
🖥 В SQL существует множество ключевых слов.

Некоторые из них зарезервированы, поэтому их нельзя использовать в качестве имен таблиц и столбцов без разделителей

Но это зависит от системы баз данных!

Представляем вам полный список слов для различных бд, которые можно использовать в качестве идентификаторов без кавычек.

На схеме флажок (✓) означает, что слово принимается в качестве имени таблицы или столбца без кавычек.

https://modern-sql.com/reserved-words-empirical-list

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍133🔥3