sql >> Base de Datos >  >> RDS >> Oracle

Operadores de conjuntos de Oracle

Uso de operadores de conjuntos de Oracle (Unión, Unión de todos, Intersección y Menos/Excepto)

Los operadores Oracle Set se pueden utilizar para seleccionar datos de varias tablas. Combinan los resultados de dos o más consultas. Cuando se utilizan los operadores Set

a) Cada cláusula SELECT debe tener el mismo número de columna

b) La columna debe ser del mismo tipo de datos

c) La columna debe especificarse en el mismo orden en todas las cláusulas de selección.

Hay 4 operadores de conjuntos:

UNIÓN Devuelve todas las filas únicas devueltas de ambas consultas
UNIR TODOS Devuelve todas las filas, incluidos los duplicados
INTERSECCIÓN Devuelve solo las filas devueltas de ambas consultas
MENOS Devuelve filas únicas seleccionadas por la primera consulta pero no las filas seleccionadas por la segunda consulta

Operador de unión de Oracle:

El operador Oracle Union se utiliza para combinar los conjuntos de resultados de dos o más instrucciones SELECT. Combina el conjunto de resultados de la declaración SELECT y elimina las filas duplicadas entre ellos. Por lo tanto, básicamente devuelve las filas distintas

SELECCIONE city_name DE CUST_DATA
UNIÓN
SELECCIONE city_name FROM SUPP_DATA;

Esta consulta devolverá filas distintas de ciudades de "Cust_data" y "Supp_data"

Oracle Unión Todos

El operador Oracle Union All se utiliza para combinar los conjuntos de resultados de dos o más instrucciones SELECT. Combina los conjuntos de resultados de la declaración SELECT y la devolución tal como está. Por lo tanto, también puede contener duplicados según el conjunto de datos

SELECT city_name FROM CUST_DATA
UNION All
SELECT city_name FROM SUPP_DATA
;

Esta consulta devolverá todas las filas (filas duplicadas también) de ciudades de "Cust_data" y "Supp_data"

Diferencia entre Unión y Unión Todo en Oracle

Union devuelve las filas distintas, mientras que Union all devuelve todas las filas. Así que tenemos que tener mucho cuidado al elegir estos operadores de conjuntos

Intersección de Oracle

El operador Oracle Intersect se utiliza para combinar los conjuntos de resultados de dos o más instrucciones SELECT. Combina los dos conjuntos de datos de declaraciones SELECT y devuelve las distintas filas comunes entre las declaraciones. Entonces, si existe un registro en una consulta y no en la otra, se omitirá de los resultados de INTERSECT.

Los resultados se muestran en la parte sombreada de la figura anterior

SELECT city_name FROM CUST_DATA
INTERSECT
SELECT city_name FROM SUPP_DATA
;

Esta consulta devolverá el nombre común de la ciudad de "Cust_data" y "Supp_data"

Diferencia entre Intersect Vs Join

1) El operador INTERSECT se usa para recuperar los registros comunes de la cláusula de selección del operador Intersect, mientras que Join se usa para recuperar datos de dos tablas en función de la condición especificada
2) INTERSECT hace la comparación para todas las columnas mientras que INNER JOIN solo las columnas especificadas.
3) El operador INTERSECT devuelve casi los mismos resultados que la cláusula INNER JOIN muchas veces.

Oráculo Menos

El operador Sql menos se usa para combinar los conjuntos de resultados de dos o más instrucciones SELECT. Combina la declaración SELECT y devuelve las filas que se seleccionan de la primera declaración de selección y luego elimina del conjunto de datos todas las filas recuperadas de la segunda declaración de selección

Los resultados se muestran en la parte sombreada de la figura anterior

SELECT city_name FROM CUST_DATA
MINUS
SELECT city_name FROM SUPP_DATA
;

Esta consulta devolverá el nombre de la ciudad de "Cust_data" menos el nombre de la ciudad "Supp_data"

Aquí, dado que todos los datos devueltos por la declaración de selección son los mismos, no generó ninguna fila.

Insertemos una fila diferente en cust_data y veamos los resultados

Ahora veamos si hacemos menos de cust_data de supp_data

SELECT city_name FROM SUPP_DATA
MINUS
SELECT city_name FROM CUST_DATA
;

No usamos el operador menos en muchos RDBMS como el servidor sql, mysql. Allí usamos excepto en lugar de menos y tiene la misma funcionalidad que menos

Todos estos operadores de conjunto de sql son válidos para RDBMS utilizados en Market como Oracle, mysql, sql server, Postgres, Teradata

Artículos relacionados
Eliminar registros duplicados en Oracle:consejos y formas sobre cómo eliminar filas duplicadas de la tabla de Oracle. Se ofrecen varias opciones para eliminar las filas duplicadas sin problemas
Tutoriales de Oracle Sql:contiene la lista de todos los artículos útiles de Oracle sql. Explórelos para aprender sobre Oracle Sql incluso si sabe Oracle Sql
Preguntas de la entrevista de Oracle:consulte esta página para ver las 49 preguntas y respuestas principales de la entrevista de Oracle:Conceptos básicos, Oracle SQL para ayudarlo en las entrevistas. También se proporciona material adicional
cláusula where en oracle:Restricción del conjunto de datos, cláusula where, cláusula what is where en declaración sql, funciones de fila única del operador de comparación
en Oracle:consulte esto para averiguar funciones de fila única en sql, datos de Oracle funciones, funciones numéricas en sql, función de caracteres en sql