Usando el operador de la Unión MySQL

Usando el operador de la Unión MySQL
Muchos operadores existen en MySQL para recuperar datos de múltiples tablas en función de los requisitos. Uno de los operadores útiles de MySQL es Union. Se usa para combinar registros de dos o más tablas escribiendo una sola consulta. Cada declaración de selección utilizada con el Operador Union debe contener los mismos números de campos y el tipo de datos de cada campo también será el mismo. Recupera todos los valores de campos comunes y poco comunes de todas las tablas mencionadas en la consulta eliminando entradas duplicadas.

Sintaxis:

Seleccione Field1, Field2, ... Fieldn
De la tabla1
[Dónde cláusula]
Unión [distinta]
Seleccione Field1, Field2, ... Fieldn
De la tabla2
[Donde cluase];

Aquí, la cláusula Where y el modificador distintivo son opcionales. Si desea ejecutar una consulta de selección basada en cualquier condición, ejecute la cláusula Where. Se menciona anteriormente que los registros duplicados se eliminan automáticamente al ejecutar la consulta con un operador sindical. Entonces, usar el modificador distintivo es inútil.

Requisito previo:

Debe crear la base de datos y las tablas necesarias con algunos registros para conocer el uso del operador de la Unión. Al principio, conéctese con el servidor de la base de datos utilizando mysql cliente y ejecute la siguiente instrucción SQL para crear una base de datos llamada 'compañía'.

Crear compañía de bases de datos;

Seleccione la base de datos actual ejecutando la siguiente declaración.

Usar empresa;

Ejecute la siguiente instrucción SQL para crear una tabla llamada 'productos ' de cinco campos (ID, nombre, model_no, marca y precio). Aquí, 'identificación'Es la clave principal.

Crear productos de mesa (
ID int (5) Clave primaria sin signo Auto_Increment,
Nombre Varchar (50) No nulo,
model_no varchar (50) no nulo,
Brand Varchar (50) no nulo,
precio int (5)) motor = innoDB;

Ejecute la siguiente instrucción SQL para crear una tabla llamada 'proveedores de cuatro campos (ID, nombre, dirección, PRO_ID). Aquí, 'identificación' es una clave principal y pro_id es una clave extranjera.

Crear proveedores de mesa (
ID int (6) Clave primaria sin signo Auto_increment,
Nombre Varchar (50) No nulo,
dirección varchar (50) no nula,
pro_id int (5) sin firmar no nulo,
Productos de referencias de la clave extranjera (PRO_ID) (ID) en Delete Cascade)
Motor = innodb;

Ejecute la siguiente instrucción SQL para insertar cuatro registros en los productos mesa.

Insertar en los valores de los productos
(Null, 'Samsung 42 "TV', 'TV-78453', 'Samsung', 500),
(Nulo, 'lg nevera', 'fr-9023', 'lg', 600)
(NULL, 'Sony 32 "TV', 'TV-4523W', 'Sony', 300),
(NULL, 'Walton Washing Machine', 'Wm-78kl', 'Walton', 255);

Ejecute la siguiente instrucción SQL para insertar seis registros en los proveedores mesa.

Insertar en los valores de los proveedores
(NULL, 'Rahman Enterprise', 'Dhanmondi', 1),
(NULL, 'ABC Electronics', 'Mirpur', 2),
(NULL, 'Nabila Enterprise', 'Mogbazar', 2),
(NULL, 'Naher Plaza', 'Eskaton', 3),
(NULL, 'Walton Plaza', 'Eskaton', 4)
(Nulo, 'Walton Plaza', 'Dhanmondi', 4);

*** NOTA: Se supone que el lector está familiarizado con las declaraciones SQL para crear una base de datos y una tabla o insertar datos en tablas. Entonces se omiten las capturas de pantalla de las declaraciones anteriores.

Ejecute la siguiente instrucción SQL para ver los registros actuales de los productos mesa.

Seleccionar * de productos;

Ejecute la siguiente instrucción SQL para ver los registros actuales de los proveedores mesa.

Seleccionar * de proveedores;

Aquí, el nombre del proveedor 'Walton Plaza'Existe en dos discos. Cuando estas dos tablas se combinan con el operador de la Unión, se generará un valor duplicado, pero se eliminará automáticamente de forma predeterminada y no necesitará usar un modificador distinto.

Uso de un operador sindical simple

La siguiente consulta recuperará los datos de pro_id y nombre campos de proveedor mesa, y identificación y nombre campos de productos mesa.

Seleccione PRO_ID como 'ID de producto', nombre como 'nombre del producto o nombre del proveedor'
De proveedores
UNIÓN
Seleccione ID como 'ID de producto', nombre como 'Nombre del producto o nombre del proveedor'
De productos;

Aquí, productos La tabla contiene 4 registros y proveedor La tabla contiene 6 registros con un registro duplicado ('Walton Plaza'). La consulta anterior devuelve 9 registros después de eliminar la entrada duplicada. La siguiente imagen muestra la salida de la consulta donde aparece 'Walton Plaza' por una vez.

Uso de la Unión con cláusula Single Where Where

El siguiente ejemplo muestra el uso del operador sindical entre dos consultas selectas donde la segunda consulta contiene una condición donde buscar esos registros desde proveedor tabla que contiene la palabra 'Walton' en el nombre campo.

Seleccione ID como 'ID de producto', nombre como 'Nombre del producto o nombre del proveedor'
De productos
UNIÓN
Seleccione PRO_ID como 'ID de producto', nombre como 'nombre del producto o nombre del proveedor'
De proveedores
Donde proveedores.nombre como '%Walton%';

Aquí, la primera consulta de selección devolverá 4 registros de productos tabla y la segunda instrucción select devolverán 2 registros de proveedor mesa porque, la palabra 'Walton'aparece dos veces en el'nombre' campo. El total de 5 registros se devolverá después de eliminar el duplicado del conjunto de resultados.

Uso de la Unión con múltiples Where Cláusula

El siguiente ejemplo muestra el uso de un operador sindical entre dos consultas selectas donde ambas consultas contienen donde condición. La primera consulta selecta contiene una condición de dónde buscará esos registros desde productos ¿Qué valores de precio son menos de 600?. La segunda consulta de selección contiene la misma condición donde el ejemplo anterior.

Seleccione ID como 'ID de producto', nombre como 'Nombre del producto o nombre del proveedor'
De productos
Donde el precio < 600
UNIÓN
Seleccione PRO_ID como 'ID de producto', nombre como 'nombre del producto o nombre del proveedor'
De proveedores
Donde proveedores.nombre como '%Walton%';

Aquí, 4 registros se devolverán como salida después de eliminar los duplicados.

Uso de la Unión, todo con múltiples Where Cláusula

Se muestra en los ejemplos anteriores que los operadores sindicales eliminan todos los registros duplicados de forma predeterminada. Pero si desea recuperar todos los registros sin eliminar los duplicados, entonces debe usar Union All Operator. El uso de la Unión All Operator se muestra en la siguiente declaración SQL.

Seleccione ID como 'ID de producto', nombre como 'Nombre del producto o nombre del proveedor'
De productos
Donde el precio < 600
Unión todos
Seleccione PRO_ID como 'ID de producto', nombre como 'nombre del producto o nombre del proveedor'
De proveedores
Donde proveedores.nombre como '%Walton%';

La siguiente imagen muestra que el conjunto de resultados devuelto contiene los registros duplicados después de ejecutar la instrucción anterior. Aquí, 'Walton Plaza ' aparece dos veces.

Conclusión:

Los usos de los operadores sindicales en la declaración SQL se explican en este tutorial mediante el uso de ejemplos simples. Espero que los lectores puedan usar este operador correctamente después de leer este artículo.