יום שלישי, 15 בדצמבר 2009

EXCEPT and INTERSECT

שלום רב,

ישנם פעמים בהם ישנו לנו 2 מקורות מידע (שאילתות, טבלאות וכו'...) אשר אנו רוצים לדעת אילו רשומות קיימות במקור הראשון ולא נימצאות במקור השני.
או לחילופי- אנו רוצים לדעת אילו רשומות קיימות בשני המקורות.

לשם כך קיימות הפקודות INTERSECT ו- EXCEPT .

EXCEPT - מציגה את הרשומות אשר נימצאות במקור הראשון ולא נימצאות במקור השני.
INTERSECT - מציגה את הרשומות אשר נימצאות בשני המקורות.

לדוגמא:

USE AdventureWorks;
GO
SELECT ProductID
FROM Production.Product
INTERSECT
SELECT ProductID
FROM Production.WorkOrder ;
--Result: 238 Rows (products that have work orders)

או

USE AdventureWorks;
GO
SELECT ProductID
FROM Production.Product
EXCEPT
SELECT ProductID
FROM Production.WorkOrder ;
--Result: 266 Rows (products without work orders)

שימושי ויעיל מאוד!

בהצלחה!

אין תגובות: