[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-sql-dlya-chego-ispolzuyutsya-operatory-intersect-i-except-v-transact-sql":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},872,"dlya-chego-ispolzuyutsya-operatory-intersect-i-except-v-transact-sql",25,"sql","SQL","🗃️","Для чего используются операторы INTERSECT и EXCEPT в Transact-SQL?","`INTERSECT` и `EXCEPT` — операторы множественной алгебры, работающие с результатами двух `SELECT`-запросов. Оба оператора возвращают только уникальные записи (аналогично `UNION`).\n\n| Оператор | Результат | Аналогия (множества) |\n|----------|----------|---------------------|\n| `INTERSECT` | Записи, присутствующие в обоих запросах | Пересечение (A ∩ B) |\n| `EXCEPT` | Записи из левого запроса, отсутствующие в правом | Разность (A \\ B) |\n\n```sql\n-- Клиенты, которые являются одновременно и поставщиками\nSELECT name FROM customers\nINTERSECT\nSELECT name FROM suppliers;\n\n-- Клиенты, которые не являются поставщиками\nSELECT name FROM customers\nEXCEPT\nSELECT name FROM suppliers;\n```\n\n`EXCEPT` не является симметричным оператором — порядок запросов имеет значение. `A EXCEPT B` и `B EXCEPT A` дают разные результаты. Оба оператора поддерживаются не только в T-SQL, но и в PostgreSQL, Oracle, MySQL 8+ (в Oracle вместо `EXCEPT` используется `MINUS`).\n\n> **На собеседовании:** объясните через аналогию с множествами: `INTERSECT` — пересечение, `EXCEPT` — разность. Частая ошибка — забыть, что `EXCEPT` не симметричен, или не знать аналог `MINUS` в Oracle.","","middle",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Для чего используются операторы INTERSECT и EXCEPT в Transac — Gymterview","`INTERSECT` и `EXCEPT` — операторы множественной алгебры, работающие с результатами двух `SELECT`-запросов. Оба оператора возвращают только уникальные записи (а","`INTERSECT` и `EXCEPT` — операторы множественной алгебры, работающие с результатами двух `SELECT`-запросов. Оба оператор",[7,13],"`INTERSECT` и `EXCEPT` — операторы множественной алгебры, работающие с результатами двух `SELECT`-запросов. Оба оператора возвращают только уникальные записи (аналогично `UNION`).",true]