Consulta SQL para seleccionar datos de tablas usando Join y Where

El objetivo de este artículo es hacer un programa simple para unir dos tablas usando la cláusula Join y Where usando MySQL. A continuación se muestra el método para hacer lo mismo usando MySQL. Los requisitos previos de este artículo son que MySQL y Apache Server estén instalados en su computadora.

¿Qué es una consulta en SQL?

Una consulta SQL es una solicitud de datos/información de una tabla en una base de datos. Estos datos se pueden usar para varios propósitos, como entrenar un modelo, encontrar patrones en los datos, etc.

¿Qué es unirse en SQL?

Una consulta JOIN se usa para combinar filas de dos o más tablas, en función de una sola columna que se puede usar para almacenar los mismos datos de ambas tablas. Así que nos unimos sobre ese punto y unimos filas.

¿Qué es la cláusula Where en SQL?

La palabra clave WHERE en SQL se usa para recuperar datos en un resultado bajo una consulta determinada. También se puede usar para recuperar datos haciendo coincidir patrones como Seleccione todos los estudiantes cuyas calificaciones sean superiores a 90 o seleccione todos los datos de las tablas donde el salario de los empleados es superior a 6 lakhs e inferior a 12 lakhs.

Entonces, comenzaremos creando una base de datos: 

Paso 1: crear una base de datos

CREATE DATABASE geeksforgeeks;

Paso 2: Ingrese a esta base de datos para usarla – 

USE geeksforgeeks;

Paso 3: Crear una tabla1 como empleado en la base de datos donde realizaremos nuestras operaciones – 

CREATE TABLE employee ( ID int(10),
            Name varchar(55),
            Email varchar(100),
            Department int(10)
            );

Paso 4: Cree otra tabla 2 como departamento donde almacenaremos los datos de los empleados de la segunda empresa. 

CREATE TABLE dept     ( ID int(10),
            Name varchar(55),
            hodId int(10),
            profit int(20)
            );

Paso 5: vea el esquema de la tabla para asegurarse de que la tabla sea correcta: 

> DESC employee;
> DESC dept;

Paso 6: Inserte los datos en la tabla de empleados – 

INSERT INTO employee VALUES(1, "Devesh", "geeks@geeks.com", 1);
INSERT INTO employee VALUES(2, "Mayank", "for@geeks.com", 1);
INSERT INTO employee VALUES(3, "Aditya", "geeks@geeks.com", 2);
INSERT INTO employee VALUES(4, "Divyanshi", "portal@geeks.com", 2);
INSERT INTO employee VALUES(5, "Megha", "is@geeks.com", 3);
INSERT INTO employee VALUES(6, "Himanshi", "a@geeks.com", 3);
INSERT INTO employee VALUES(7, "Tanishka", "computer@geeks.com", 4);
INSERT INTO employee VALUES(8, "Jatin", "science@geeks.com", 4);

Paso 7: Insertar datos en la tabla de departamento –

INSERT INTO dept VALUES(1, "Computer Science", 1, 100000);
INSERT INTO dept VALUES(2, "Electrical", 2, 45000);
INSERT INTO dept VALUES(3, "Biotechnology", 3, 30000);
INSERT INTO dept VALUES(4, "Architecture", 4, 15000);

Paso 8: consulta los datos usando where y Join – 

Ejemplo 1: Seleccione todos los datos de los empleados que son los HOD de los departamentos:

SELECT employee.ID, employee.Name, employee.Email
FROM employee 
JOIN dept
WHERE
employee.ID = dept.hodId;

Producción:

Ejemplo 2: Seleccione todos los datos donde la ganancia del departamento sea mayor a 45000 – 

SELECT * 
FROM employee
LEFT JOIN dept
ON
employee.Department = dept.ID
WHERE 
employee.Name IN
(SELECT Name FROM employee WHERE dept.profit > 45000);

Producción:

Ejemplo 3: Seleccione todos los datos de ambas tablas usando JOIN ( cross join ) –

SELECT *
FROM employee 
FULL JOIN dept
WHERE
dept.id > 0;

Ejemplo 4: Seleccione todos los empleados de un departamento cuya suma de ganancias sea mayor a 5000

SELECT DISTINCT dept.ID, dept.Name, dept.hodId
FROM dept
JOIN employee
ON
dept.ID = employee.Department
WHERE
hodId IN
(SELECT hodId FROM dept WHERE hodId > 0);

Producción:

Publicación traducida automáticamente

Artículo escrito por idevesh 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 *