Database
 sql >> Baza danych >  >> RDS >> Database

PRZECIĘCIE SQL

Operator przecięcia SQL służy do łączenia dwóch lub więcej instrukcji SELECT, ale wyświetla tylko dane podobne do instrukcji SELECT.

Składnia operacji INTERSECT:

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

Zasady, których należy przestrzegać przy użyciu operatora INTERSECT, są następujące:

  1. Liczba kolumn i kolejność kolumn muszą być takie same.
  2. Typ danych musi być zgodny.

Zrozummy pojęcie SQL INTERSECT za pomocą przykładów.

Rozważ poniższe tabele wraz z podanymi rekordami.

Tabela 1:Uczeń

STUDENT_ID NAZWISKO UCZNIA 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 JOGESZ 56 65 78 199
6 ANKITA 95 85 96 276
7 SONAM 98 89 100 287
8 WININA 85 90 100 275
9 KOSZULKA 86 78 65 229
10 PRACI 90 80 75 245
101 SNEHA 85 88 100 273
103 VISHAL 75 88 96 259

Tabela 2:ćwieki

STUDENT_ID NAZWISKO UCZNIA 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 KOSZULKA 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 PRASZKA 90 80 75 245
8 WININA 85 90 100 275

Przykład 1: Wykonaj zapytanie, aby wykonać operację INTERSECT między tabelą Studenta a tabelą Stud.

SELECT * FROM STUDENT INTERSECT SELECT * FROM STUD;

W powyższym zapytaniu użyliśmy dwóch zapytań SELECT. Pierwsze zapytanie SELECT pobiera dane z tabeli Student. Wykonuje operację INTERSECT na danych pobranych przez drugie zapytanie SELECT, które pobiera dane z tabeli Stud. Wybierane są tylko podobne rekordy między tymi dwiema tabelami.

Wyniki powyższego zapytania to:

STUDENT_ID NAZWISKO UCZNIA 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 WININA 85 90 100 275
9 KOSZULKA 86 78 65 229
101 SNEHA 85 88 100 273
103 VISHAL 75 88 96 259

Wyświetlane są tylko wspólne rekordy między tabelą uczniów a tabelami stadnin.

Przykład 2: Wykonaj zapytanie, aby wykonać operację INTERSECT między tabelą Student a tabelą Stud, ale wyświetlaj tylko te rekordy Studentów z tabeli Stud, w których oceny matematyczne są równe 100.

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

Wyniki powyższego zapytania to:

STUDENT_ID NAZWISKO UCZNIA PHYSICS_MARKS CHEMISTRY_MARKS MATHS_MARKS TOTAL_MARKS
7 SONAM 98 89 100 287
8 WININA 85 90 100 275
101 SNEHA 85 88 100 273

Wyświetlane są tylko rekordy uczniów, których oceny matematyczne są równe 100 z tabeli Stud i są wspólne zarówno dla tabeli Student, jak i Stud.

Przykład 3: Wykonaj zapytanie, aby wykonać operację INTERSECT między tabelą Student a tabelą Stud, ale wyświetlaj tylko te rekordy Studentów z tabeli Student, w których oceny z chemii są większe niż 80.

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

Wyniki powyższego zapytania to:

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

Wyświetlane są tylko rekordy uczniów, których oceny z chemii są większe niż 80 z tabeli uczniów i są wspólne dla tabeli uczniów i stadnin.

Przykład 4: Wykonaj zapytanie, aby wykonać operację INTERSECT między tabelą Uczniów a tabelą Stud i wyświetl tylko te rekordy Uczniów, w których oceny fizyczne są większe niż 75 z Tabeli Uczniów, a drugie zapytania wybierające wyświetlają tylko te rekordy Uczniów, w których oceny matematyczne są większe niż 90 z tabeli Uczniów Stud.

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

Wyniki powyższego zapytania to:

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

Wyświetlane są tylko rekordy uczniów, których oceny z fizyki są większe niż 75 w Tabeli Uczniów, a oceny matematyczne są większe niż 90 w Tabeli Studów i są wspólne zarówno dla Tabeli Ucznia, jak i Studa.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najbliższy mecz, część 2

  2. Klonowanie baz danych za pomocą PSDatabaseClone

  3. Omówienie polecenia DBCC SHRINKFILE

  4. Co to do cholery jest DTU?

  5. Podstawy programowania równoległego z platformą rozwidlenia/połączenia w Javie