sql >> Base de Datos >  >> RDS >> Database

INTERSECCIÓN SQL

El operador de intersección de SQL se usa para combinar dos o más instrucciones SELECT, pero solo muestra los datos de forma similar a la instrucción SELECT.

La sintaxis de la operación INTERSECT:

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

Las reglas a seguir con el operador INTERSECT son las siguientes:

  1. El número de Columnas y el Orden de las Columnas deben ser iguales.
  2. El tipo de datos debe ser compatible.

Comprendamos el concepto de SQL INTERSECT con la ayuda de ejemplos.

Considere las siguientes tablas junto con los registros proporcionados.

Tabla 1:Estudiante

STUDENT_ID NOMBRE_ESTUDIANTE PHYSICS_MARKS MARCAS_QUÍMICAS MATHS_MARKS TOTAL_MARCAS
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

Tabla 2:Stud

STUDENT_ID NOMBRE_ESTUDIANTE PHYSICS_MARKS MARCAS_QUÍMICAS MATHS_MARKS TOTAL_MARCAS
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

Ejemplo 1: Ejecute una consulta para realizar la operación INTERSECT entre la tabla Student y la tabla Stud.

SELECT * FROM STUDENT INTERSECT SELECT * FROM STUD;

En la consulta anterior, hemos utilizado dos consultas SELECT. La primera consulta SELECT obtiene los datos de la tabla Student. Realiza la operación INTERSECT con los datos obtenidos por la segunda consulta SELECT que recupera los datos de la tabla Stud. Solo se seleccionan registros similares entre estas dos tablas.

El resultado de la consulta anterior es:

STUDENT_ID NOMBRE_ESTUDIANTE PHYSICS_MARKS MARCAS_QUÍMICAS MATHS_MARKS TOTAL_MARCAS
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

Solo se muestran los registros comunes entre la tabla Student y las tablas Stud.

Ejemplo 2: Ejecute una consulta para realizar la operación INTERSECT entre la tabla Student y la tabla Stud, pero muestre solo los registros de los estudiantes de la tabla Stud donde las notas matemáticas sean iguales a 100.

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

El resultado de la consulta anterior es:

STUDENT_ID NOMBRE_ESTUDIANTE PHYSICS_MARKS MARCAS_QUÍMICAS MATHS_MARKS TOTAL_MARCAS
7 SONAM 98 89 100 287
8 VINEET 85 90 100 275
101 SNEHA 85 88 100 273

Solo se muestran los registros de los estudiantes cuyas calificaciones matemáticas son iguales a 100 de la tabla Stud y son comunes entre las tablas Student y Stud.

Ejemplo 3: Ejecute una consulta para realizar la operación INTERSECT entre la tabla Student y la tabla Stud, pero muestre solo los registros de Student de la tabla Student donde las calificaciones químicas sean mayores que 80.

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

El resultado de la consulta anterior es:

STUDENT_ID NOMBRE_ESTUDIANTE PHYSICS_MARKS MARCAS_QUÍMICAS MATHS_MARKS TOTAL_MARCAS
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

Solo se muestran los registros de los estudiantes cuyas notas de química son superiores a 80 en la tabla de estudiantes y son comunes entre la tabla de estudiantes y la de Stud.

Ejemplo 4: Ejecute una consulta para realizar la operación INTERSECT entre la tabla de Estudiantes y la tabla de Stud y muestre solo los registros de Estudiantes donde las calificaciones de física son mayores a 75 de la Tabla de Estudiantes, y luego seleccione consultas que muestren solo los registros de Estudiantes donde las calificaciones de matemáticas son mayores a 90 de la Tabla de Estudiantes. Semental.

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

El resultado de la consulta anterior es:

STUDENT_ID NOMBRE_ESTUDIANTE PHYSICS_MARKS MARCAS_QUÍMICAS MATHS_MARKS TOTAL_MARCAS
6 ANKITA 95 85 96 276
7 SONAM 98 89 100 287
8 VINEET 85 90 100 275
101 SNEHA 85 88 100 273

Solo se muestran los expedientes de los estudiantes cuyas notas de física superan los 75 en la tabla de estudiantes y las notas de matemáticas superan los 90 en la tabla de estudios y son comunes entre la tabla de estudiantes y la de estudios.