tg-me.com/oracle_dbd/901
Last Update:
Что быстрее: IN или EXISTS?
Друзья, всем привет! 👋🏻
Сегодня понедельник, самое время немного взбодриться после длинных выходных ☕️
И для разогрева предлагаем вопрос, который любят задавать на технических собесах: что же лучше — IN
или EXISTS
? 🤔
Итак, перед вами два запроса. Вроде бы делают одно и то же… но есть нюанс👇
-- Not Exists
SELECT /*+ FULL(d) */
d.department_name
FROM hr.departments d
WHERE NOT EXISTS (
SELECT 1
FROM hr.employees e
WHERE e.department_id = d.department_id);
-- Not IN
SELECT /*+ FULL(d) */
d.department_name
FROM hr.departments d
WHERE d.department_id NOT IN (
SELECT e.department_id
FROM hr.employees e);
🔍 На первый взгляд — разницы нет.
Но если присмотреться… 😏
💬 Напишите в комментариях к посту, в чём подвох.
И если вдруг вы не до конца понимаете, в чём отличие между
IN
и EXISTS
, добро пожаловать на наш мини-эфир в четверг 🎙Разберём по пунктам:
🔶 Сходства и отличия
IN
и EXISTS
🔄🔶 Как работают
SEMI JOIN
и ANTI JOIN
под капотом 🔶 Какие вопросы по этой теме любят на собеседованиях 🧠
🔶 Примеры из практики
📩 Ссылку на Zoom пришлём утром в четверг — следите за новостями в канале, чтобы не пропустить!
#задача #sql #оптимизация #анонс #вебинар #собеседование #oracle #Pavel_Dolganov
Канал Oracle Developer | Чатик 💬
Мини-курс Оптимизация: Быстрый старт 🚀