sql >> Database teknologi >  >> RDS >> Database

SQL Skæring

SQL intersect-operator bruges til at kombinere to eller flere SELECT-sætninger, men den viser kun data, der ligner SELECT-sætningen.

Syntaksen for INTERSECT-operationen:

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

Regler, der skal følges ved brug af INTERSECT-operatoren, er som følger:

  1. Antallet af kolonner og rækkefølgen af ​​kolonner skal være det samme.
  2. Datatypen skal være kompatibel.

Lad os forstå begrebet SQL INTERSECT ved hjælp af eksempler.

Overvej følgende tabeller sammen med de givne poster.

Tabel 1:Elev

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 NIKHIL 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

Tabel 2:Stud

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
4 NIKHIL 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

Eksempel 1: Udfør en forespørgsel for at udføre INTERSECT-operation mellem Student-tabel og Stud-tabel.

SELECT * FROM STUDENT INTERSECT SELECT * FROM STUD;

I ovenstående forespørgsel har vi brugt to SELECT-forespørgsler. Den første SELECT-forespørgsel henter dataene fra elevtabellen. Den udfører INTERSECT-operation med dataene hentet af den anden SELECT-forespørgsel, der henter dataene fra Stud-tabellen. Kun lignende poster mellem disse to tabeller er valgt.

Outputtet fra ovenstående forespørgsel er:

STUDENT_ID STUDENT_NAME PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
4 NIKHIL 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

Kun almindelige poster mellem Elev-tabellen og Stud-tabellerne vises.

Eksempel 2: Udfør en forespørgsel for at udføre INTERSECT-operation mellem Student-tabellen og Stud-tabellen, men vis kun de Student-poster fra Stud-tabellen, hvor matematiske karakterer er lig med 100.

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

Outputtet fra ovenstående forespørgsel er:

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

Kun de elevers poster vises, hvis matematiske karakterer er lig med 100 fra Stud-tabellen og er fælles for både Elev- og Stud-tabellen.

Eksempel 3: Udfør en forespørgsel for at udføre INTERSECT-operation mellem Student-tabellen og Stud-tabellen, men vis kun de Student-poster fra Elev-tabellen, hvor kemimærkerne er større end 80.

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

Outputtet fra ovenstående forespørgsel er:

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

Kun de studerendes poster vises, hvis kemikarakterer er større end 80 fra elevtabellen og er fælles for både elev- og Stud-tabellen.

Eksempel 4: Udfør en forespørgsel for at udføre INTERSECT-operation mellem Student-tabel og Stud-tabel og vis kun de Student-poster, hvor fysikkarakterer er større end 75 fra Elev-tabellen, og vælg derefter forespørgsler, der kun viser de Student-poster, hvor matematikkarakterer er større end 90 fra Stud.

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

Outputtet fra ovenstående forespørgsel er:

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

Kun de elevers poster vises, hvis fysikkarakterer er større end 75 fra elevtabellen, og matematikkarakterer er større end 90 fra Stud-tabellen og er fælles for både Elev- og Stud-tabellen.


  1. Forstå dataarkitekters rolle i datastyring

  2. Hvis du kunne stille MS Access-teamet ethvert spørgsmål, hvad ville det så være?

  3. Slut dig til os i Amsterdam til et møde med OptimaData &VidaXL

  4. Skal skalarvariabel @Id erklæres?