¿Cómo consultar dos tablas para valores duplicados en SQL?

En este artículo, veremos cómo escribir consultas SQL para obtener valores duplicados de dos tablas.

Podemos realizar la tarea dada usando dos métodos:

  1. Usando INNER JOIN .
  2. Usando la cláusula WHERE

Ahora, para la demostración, siga los pasos 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) );

Consulta (demo_table2):

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

Paso 4: Insertar datos en una tabla

Consulta (demo_table1):

INSERT INTO demo_table1 VALUES
(11,'Romy',23,'Delhi'),
(23,'Rahul',23,'Delhi'),
(31,'Nikhil',24,'Punjab'),
(46,'Ranvir',23,'Punjab'),
(52,'Samiksha',23,'Banglore'),
(61,'Ashtha',24,'Banglore'),
(77,'Tannu',30,'Patna'),
(89,'Girish',30,'Patna');

Consulta (demo_table2):

INSERT INTO demo_table2 VALUES
(31,'Fanny',25 ),
(77,'Prem', 30),
(15,'Preeti',21),
(46,'Samita',32),
(09,'Rajan',45);

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 obtener duplicados de dos tablas

Método 1:

INNER JOIN: es una palabra clave utilizada para consultar dos tablas para obtener los registros que tienen valores coincidentes en ambas tablas.

Sintaxis:

SELECT Column_name
FROM table1 INNER JOIN
table2 ON condition;

Para demostración, escribiremos una consulta SQL que devolverá valores de ID duplicados de ambas tablas

Consulta:

SELECT demo_table1.ID
FROM demo_table1
INNER JOIN demo_table2
ON demo_table1.ID=demo_table2.ID;

Si dos tablas tienen el mismo nombre de columna, el nombre de la tabla debe usarse antes del nombre de la columna, como table_name.column_name, para diferenciar la columna de ambas tablas.

Producción:

Método 2: mediante el uso de la cláusula where para comparar los valores de las columnas

Sintaxis:

SELECT column_name from table_name WHERE condition;

Consulta:

SELECT demo_table1.ID
FROM demo_table1, demo_table2
WHERE demo_table1.ID=demo_table2.ID;

Producción:

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 *