В 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🔥4❤3
🔥 Дайджест полезных материалов из мира 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)
Хорошего дня!
Почитать:
— Регулярные выражения в реальных задачах
— О 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🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
В 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🥰3❤2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥5❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите получить в #SQL строку top-N для каждой группы? Например.
Лучшие результаты/экзамен
Самые высокооплачиваемые сотрудники/отдел
Лучший результат/команда
Пронумеруйте строки для каждой группы в подзапросе с помощью функции
Затем отфильтруйте эти значения во внешнем запросе.
@sqlhub
Лучшие результаты/экзамен
Самые высокооплачиваемые сотрудники/отдел
Лучший результат/команда
Пронумеруйте строки для каждой группы в подзапросе с помощью функции
ROW_NUMBER () OVER (
PARTITION BY <group_cols> ORDER BY <sort_cols>
)
Затем отфильтруйте эти значения во внешнем запросе.
@sqlhub
👍7🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Вы можете объединить строки из двух таблиц в одну с помощью UNION и UNION ALL
В чем разница?
#SQL
@sqlhub
В чем разница?
UNION
дедублирует данные, поэтому на выходе получается одна строка для каждого набора значенийUNION ALL
сохраняет все строки из каждой таблицы.#SQL
@sqlhub
👍16🔥3❤2👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥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
👍12❤3🔥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
Почитать:
— Отправка и обработка 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
👍9❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Он переводит естественный язык в 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🔥6❤4😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
PostgreSQL - это база данных с открытым исходным кодом, обладающая широкими возможностями настройки.
Если вы хотите узнать, подходит ли она для ваших проектов, этот курс для начинающих поможет вам.
Вы узнаете об операторе
SELECT
, предложениях WHERE
, агрегатных функциях и многом другом.📌 Курс
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4❤2
Выбор подходящей базы данных для своего проекта - сложная задача. Существует множество видов баз данных, каждая из которых подходит для разных случаев использования.
Данная шпаргалка поможет определить, какой сервис соответствует потребностям вашего проекта, и избежать возможных "
подводных камней
".@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥1
Он предназначен для использования в тестировании и поддерживает работу с такими базами данных, как sqlite, mysql, postgresql, mongodb, redis и couchdb.
pip install fake2db
📌 GitHub
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤3🔥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
Почитать:
— Построение 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🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
SELECT ... FROM ... VERSIONS BETWEEN TIMESTAMP <start_dt> AND <end_dt>
Возвращаются изменения в диапазоне дат.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤5🔥4
SQLMesh обеспечивает точность и эффективность построения конвейеров данных с помощью пробвинутого решения DataOps для преобразования, тестирования и совместной работы.
Виртуальные среды данных позволяют команде разработчиков создавать динамические представления данных, гарантируя, что таблицы не будут создаваться более одного раза. Модульные тесты, аудиты и Data Diff обеспечивают проверку на протяжении всего рабочего процесса разработки, что позволяет легко работать с данными.
pip install sqlmesh
▪ Github
▪ Подробнее
▪ Документация
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2❤1
Некоторые из них зарезервированы, поэтому их нельзя использовать в качестве имен таблиц и столбцов без разделителей
Но это зависит от системы баз данных!
Представляем вам полный список слов для различных бд, которые можно использовать в качестве идентификаторов без кавычек.
На схеме флажок (✓) означает, что слово принимается в качестве имени таблицы или столбца без кавычек.
https://modern-sql.com/reserved-words-empirical-list
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥3