и посмотреть медиа
Data analysis - DA SQL
и посмотреть медиа
Анализ данных: SQL, Python.
Анализ данных: SQL, Python.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Про анализ данных: базы данных, SQL, Python и другое для аналитиков.
INTERSECT и EXCEPT/MINUS в SQL Все мы знаем такие операторы, как UNION и UNION ALL, которые объединяют результаты двух и более SELECT в одну таблицу (без дубликатов и с дубликатами соответственно). Но существуют еще менее популярные, но иногда полезные аналоги традиционных UNION: INTERSECT и EXCEPT (или же MINUS в Oracle). Все эти команды используются в одном и том же месте в запросах - между SELECT: SELECT col1, col2... FROM table1... [UNION | UNION ALL | INTERSECT | EXCEPT (MINUS)] SELECT col1, col2... FROM table2... При этом для всего этого действуют такие же общие правила: количество столбцов в запросах должно быть одинаковым; типы данных должны быть сопоставимы; наличие 2 и более NULL считается дубликатами и т.д. ▶️INTERSECT нужен для того, чтобы выводить строки, которые присутствуют в обоих SELECT, то есть этот оператор отвечает за пересечение. При этом, что логично, эта функция удаляет дубликаты в итоговом наборе данных, выводя только одно значение. ▶️EXCEPT (MS SQL) / MINUS (Oracle) работают иначе. Эти операторы возвращают те строки, которые есть в первой таблице, но которых нет во второй таблице. Грубо говоря, это как из первой таблицы вычесть вторую. Допустим, есть такие данные: Табл. 1: [1, 2, 3, 4, 5] Табл. 2: [2, 3, 4, 6] В случае, если запрос имеет такую логику: Табл. 1 EXCEPT / MINUS Табл. 2 то выведутся числа 1 и 5. Если же таблицы поменяются местами, то выведется просто число 6. Точно так же, как и с INTERSECT, удаляются дубликаты. При этом, если в одной таблице есть дубликаты с одним значением, а в другой таблице такого значения нет вовсе, то считается, что пересечения нет, следовательно, выведется значение из первой таблицы без дубликатов. 🟠Какова же логика работы этих операторов в случаях, когда нужно объединять 3 и более SELECT? ▶️В случае с INTERSECT всё работает последовательно: таблица А соотносится с таблицей В, получается результат, и потом этот результат соотносится с таблицей С, и т.д. Но из-за математических свойств пересечения множеств, по факту, нет никакой разницы, в каком порядке идут таблицы, хоть все одновременно. Результат будет один и тот же. ▶️EXCEPT (MS SQL) / MINUS (Oracle) тоже работают последовательно, точно так же как и INTERSECT. Но тут нужно обращать особое внимание на то, в каком порядке расположены таблицы, и также не забывать про то, какими будут промежуточные результаты.
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!