Database
 sql >> Datenbank >  >> RDS >> Database

SQL-INTERSECT

Der SQL-Intersect-Operator wird verwendet, um zwei oder mehr SELECT-Anweisungen zu kombinieren, aber er zeigt nur die Daten ähnlich der SELECT-Anweisung an.

Die Syntax für die INTERSECT-Operation:

SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAME3 FROM TABLE_NAME1 INTERSECT SELECT COLUMN_NAME1, COLUMN_NAME2, COLUMN_NAME3 FROM TABLE_NAME2;

Bei Verwendung des INTERSECT-Operators sind folgende Regeln zu befolgen:

  1. Die Anzahl der Spalten und die Reihenfolge der Spalten müssen gleich sein.
  2. Datentyp muss kompatibel sein.

Lassen Sie uns das Konzept von SQL INTERSECT anhand von Beispielen verstehen.

Betrachten Sie die folgenden Tabellen zusammen mit den angegebenen Datensätzen.

Tabelle 1:Schüler

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
1 NEHA 85 88 100 273
2 VISHAL 70 90 82 242
3 SAMKEET 75 88 96 259
4 NICHIL 60 75 80 215
5 YOGESH 56 65 78 199
6 ANKITA 95 85 96 276
7 SONAM 98 89 100 287
8 VINEET 85 90 100 275
9 SANKET 86 78 65 229
10 PRACHI 90 80 75 245
101 SNEHA 85 88 100 273
103 VISHAL 75 88 96 259

Tabelle 2:Gestüt

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
4 NICHIL 60 75 80 215
6 ANKITA 95 85 96 276
7 SONAM 98 89 100 287
9 SANKET 86 78 65 229
101 SNEHA 85 88 100 273
102 SAMKEET 70 90 82 242
103 VISHAL 75 88 96 259
105 YOGESHWARI 56 65 78 199
106 VINAY 85 90 100 275
107 PRASHAKA 90 80 75 245
8 VINEET 85 90 100 275

Beispiel 1: Führen Sie eine Abfrage aus, um eine INTERSECT-Operation zwischen der Student-Tabelle und der Stud-Tabelle durchzuführen.

SELECT * FROM STUDENT INTERSECT SELECT * FROM STUD;

In der obigen Abfrage haben wir zwei SELECT-Abfragen verwendet. Die erste SELECT-Abfrage ruft die Daten aus der Student-Tabelle ab. Es führt eine INTERSECT-Operation mit den Daten aus, die von der zweiten SELECT-Abfrage abgerufen wurden, die die Daten aus der Stud-Tabelle abruft. Nur ähnliche Datensätze zwischen diesen beiden Tabellen werden ausgewählt.

Die Ausgabe der obigen Abfrage ist:

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
4 NICHIL 60 75 80 215
6 ANKITA 95 85 96 276
7 SONAM 98 89 100 287
8 VINEET 85 90 100 275
9 SANKET 86 78 65 229
101 SNEHA 85 88 100 273
103 VISHAL 75 88 96 259

Es werden nur gemeinsame Datensätze zwischen der Student-Tabelle und den Stud-Tabellen angezeigt.

Beispiel 2: Führen Sie eine Abfrage aus, um eine INTERSECT-Operation zwischen der Student-Tabelle und der Stud-Tabelle durchzuführen, aber zeigen Sie nur die Student-Datensätze aus der Stud-Tabelle an, bei denen Mathematiknoten gleich 100 sind.

SELECT * FROM STUDENT INTERSECT SELECT * FROM STUD WHERE MATHS_MARKS = 100;

Die Ausgabe der obigen Abfrage ist:

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
7 SONAM 98 89 100 287
8 VINEET 85 90 100 275
101 SNEHA 85 88 100 273

Es werden nur die Datensätze der Studenten angezeigt, deren mathematische Noten gleich 100 aus der Stud-Tabelle sind und die sowohl in der Student- als auch in der Stud-Tabelle gleich sind.

Beispiel 3: Führen Sie eine Abfrage aus, um eine INTERSECT-Operation zwischen der Student-Tabelle und der Stud-Tabelle durchzuführen, aber zeigen Sie nur die Student-Datensätze aus der Student-Tabelle an, bei denen Chemienoten größer als 80 sind.

SELECT * FROM STUDENT WHERE CHEMISTRY_MARKS > 80 INTERSECT SELECT * FROM STUD;

Die Ausgabe der obigen Abfrage ist:

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
6 ANKITA 95 85 96 276
7 SONAM 98 89 100 287
8 VINEET 85 90 100 275
101 SNEHA 85 88 100 273
103 VISHAL 75 88 96 259

Es werden nur die Datensätze der Studenten angezeigt, deren Chemienoten größer als 80 aus der Student-Tabelle sind und die sowohl in der Student- als auch in der Stud-Tabelle gleich sind.

Beispiel 4: Führen Sie eine Abfrage aus, um eine INTERSECT-Operation zwischen der Schülertabelle und der Stud-Tabelle durchzuführen, und zeigen Sie nur die Schülerdatensätze an, bei denen die Physiknoten größer als 75 aus der Schülertabelle sind, und wählen Sie zweitens Abfragen aus, die nur die Schülerdatensätze anzeigen, bei denen die Mathematiknoten größer als 90 sind Stud.

SELECT * FROM STUDENT WHERE PHYSICS_MARKS > 75 INTERSECT SELECT * FROM STUD WHERE MATHS_MARKS > 90;

Die Ausgabe der obigen Abfrage ist:

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
6 ANKITA 95 85 96 276
7 SONAM 98 89 100 287
8 VINEET 85 90 100 275
101 SNEHA 85 88 100 273

Es werden nur die Datensätze der Studenten angezeigt, deren Physiknoten größer als 75 aus der Student-Tabelle sind und deren Mathematiknoten größer als 90 aus der Stud-Tabelle sind und die sowohl in der Student- als auch in der Stud-Tabelle gleich sind.