SQL | מינוס מפעיל

SQL | מינוס מפעיל

האופרטור MINUS משמש עם שניים SELECT הצהרות כדי להחזיר רק את השורות מהשאילתה הראשונה שאינן קיימות בשאילתה השנייה. הוא מסנן את כל השורות הנפוצות ושומר רק את השורות הייחודיות מקבוצת התוצאות הראשונה.

ייצוג ציורי :

sql-מינוס

כפי שאתה יכול לראות בתרשים שלמעלה, האופרטור MINUS יחזיר רק את השורות שנמצאות בערכת התוצאות מטבלה 1 ולא בקבוצת התוצאות של טבלה 2.

תַחבִּיר:

 SELECT column1 column2 ... columnN   
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];

בתחביר לעיל

  • בחירה ראשונה: מאחזר עמודות שצוינו (עמודה 1 עמודה 2 ... עמודה N) מ- table_name1 המסוננות באופן אופציונלי על ידי תנאי WHERE.
  • מִינוּס: האופרטור MINUS מחזיר שורות מהשאילתה הראשונה שאינן קיימות בשאילתה השנייה.
  • בחירה שניה: מאחזר את אותן עמודות מ- table_name2 המסוננות באופן אופציונלי על ידי תנאי WHERE.
  • תְפוּקָה: התוצאה כוללת שורות מ- table_name1 שאינן קיימות ב- table_name2. כפילויות מוסרות מהפלט הסופי.

טבלאות :

טבלה 1

שֵׁם

כְּתוֹבֶת

גִיל

צִיוּן

קָשֶׁה

דלהי

20

א

גורב

ג'איפור

21

ב

לְתַרְגֵל

מומבאי

21

א

דהנראג'

קולקטה

22

ב

טבלה 2

שֵׁם

גִיל

טֵלֵפוֹן

צִיוּן

אקאש

20

XXXXXXXXX

א

Dheeraj

21

XXXXXXXXX

ב

ואיבהב

21

XXXXXXXXX

א

דהנראג'

22

XXXXXXXXX

ב

שאילתות :

 SELECT NAME AGE GRADE   
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;

תְפוּקָה:

שֵׁם

גִיל

צִיוּן

קָשֶׁה

20

א

גורב

21

ב

לְתַרְגֵל

21

א

בשאילתה זו:

  • מחזירה רק את השורות הייחודיות לטבלה 1.
  • אם השורה האחרונה בשתי הטבלאות זהה, היא לא נכללת מהתוצאה. כך רק שלוש השורות הראשונות מטבלה 1 יוחזרו.

פֶּתֶק :

  • האופרטור MINUS נתמך ב-Oracle אך אינו נתמך ב-SQL Server או PostgreSQL.
  • עבור מסדי נתונים אלה השתמש ב- EXCEPT מפעיל כחלופה.
צור חידון