¿Cómo extraer datos de dos tablas SQL según la fecha?

En este artículo, veremos cómo escribir consultas SQL para extraer datos de dos tablas según la fecha. Podemos realizar la función anterior realizando la operación UNION en las tablas. La operación UNION agrega los resultados de dos consultas y devuelve el resultado como un solo conjunto. 

Formas de utilizar la palabra clave UNION:

 Sintaxis:

SELECT * from table1 (query1)
UNION
SELECT * from table2 (query2);

Hay algunas reglas a seguir antes de usar la palabra clave UNION:

  • El número y el orden de las columnas debe ser el mismo en las consultas.
  • Los tipos de datos de los campos elegidos deben ser los mismos.

Para fines de demostración, realice los pasos que se indican a continuación:

Paso 1: Crear una base de datos

Podemos usar el siguiente comando para crear una base de datos llamada geeks.

Consulta:

CREATE DATABASE geeks;

Paso 2: usar la base de datos

Use la siguiente instrucción SQL para cambiar el contexto de la base de datos a geeks:

Consulta:

USE geeks;

Paso 3: definición de la tabla

Tenemos dos tablas llamadas ‘demo_table1’ y ‘demo_table2’ en la base de datos de nuestro geek.

Consulta (demo_table1):

CREATE TABLE demo_table1(
ID int,
NAME VARCHAR(20),
AGE INT,
CITY VARCHAR(20) ,
DOB DATE);

Consulta (demo_table2):

CREATE TABLE demo_table2(
ID int,
NAME VARCHAR(20),
AGE int,
DOB DATE);

Paso 4: Insertar datos en una tabla

Consulta (demo_table1):

INSERT INTO demo_table1 VALUES
(11,'Romy',23,'Delhi','1999-11-30'),
(23,'Rahul',23,'Delhi','1998-10-01'),
(31,'Nikhil',24,'Punjab','1990-05-03'),
(46,'Ranvir',23,'Punjab','2002-10-09'),
(52,'Samiksha',23,'Banglore','2017-08-10'),
(61,'Ashtha',24,'Banglore','2001-09-10'),
(77,'Tannu',30,'Patna','1996-08-01'),
(89,'Girish',30,'Patna','1930-09-30');

Consulta (demo_table2):

INSERT INTO demo_table2 VALUES
(31,'Fanny',25, '1996-07-08' ),
(77,'Prem', 30, '2003-05-09'),
(15,'Preeti',21, '2001-02-02'),
(46,'Samita',32, '1994-07-23'),
(09,'Rajan',45, '1993-05-05');

Paso 5: Ver el contenido

Ejecute la siguiente consulta para ver el contenido de la tabla

Consulta (demo_table1):

SELECT * FROM demo_table1;

Producción:

Consulta (demo_table2):

SELECT * FROM demo_table2;

Producción:

PASO 6 : consulta SQL para extraer datos de dos tablas en función de las fechas. Para la demostración, extraeremos los datos que tengan fecha de nacimiento entre ‘1990-01-01’ y ‘2000-01-01’.

Consulta:

SELECT d1.NAME, d1.AGE, d1.DOB
FROM demo_table1 d1 WHERE DOB BETWEEN
'1990-01-01' and '2000-01-01'
UNION  
SELECT d2.NAME, d2.AGE, d2.DOB  
FROM demo_table2 d2 WHERE DOB BETWEEN
'1990-01-01' and '2000-01-01';

Producción:

Podemos ver que los datos de ambos se extraen en función de las fechas especificadas en la consulta.

Publicación traducida automáticamente

Artículo escrito por romy421kumari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *