INGRESAR

REGISTRARSE
Buscador

Visualizando datos de varias tablas de introducción en sql

2024-04-05

La sentencia JOIN se usa generalmente para unir dos tablas relacionadas entre sí. Por un una o varias columnas. Obtener los datos de dichas tablas en una misma sentencia SELECT.

La recuperación de datos en las bases de datos relacionales, se clasifican en:

  • Selección: Recupera un grupo de registros de una tabla mostrando en que condiciones tienen que cumplir los registros recuperados. Este tipo de recuperación de datos es la que se conoce como una consulta. Ejemplo: SELECT * FROM hr.employees WHERE first_name = "david ";
  • Proyección: Recupera unos campos concretos de una consulta hija: Ejemplo: SELECT * FROM hr.employees WHERE department_id = ( SELECT departments.department_id FROM hr.departments WHERE department_name = "it ") ;
  • Join: Recupera un grupo de datos de varias tablas. Las cuales tienen una relación entre ellas, utilizando la cláusula JOIN.

Para indicar por cual columna o columnas se va a realizar la unión se utiliza:

  • La cláusula «On».
  • La cláusula «USING» , se usa cuando el campo en las dos tablas se tienen el mismo nombre.
  • Existen 3 tipos de JOIN: INNER JOIN O JOIN. LEFT JOIN. RIGHT JOIN.

INNER JOIN (JOIN):

  • Lo empleamos para obtener información de dos tablas y combinar dicha información en una salida.
  • Solo nos mostrara los registros cuyos campos relacionados hagan matching. Ejemplo: SELECT first_name nombre, department_name departamento FROM hr.employees e JOIN hr.departments d on e.department_id = d.department_id; Ejemplo: SELECT first_name nombre, department_name departamento FROM hr.employees e JOIN hr.departments d USING(department_id);

LEFT JOIN:

  • Encuentra registros de la primera tabla que se corresponden con registros de la segunda.
  • Si no encuentra coincidencias, devuelve los resultados de la segunda seteados a null. Ejemplo: SELECT first_name nombre, department_name departamento FROM hr.employees e LEFT JOIN hr.departments d on e.department_id = d.department_id; Ejemplo: SELECT first_name nombre, department_name departamento FROM hr.employees e LEFT JOIN hr.departments d USING(department_id);
  • Es importante el orden de las tablas, ya que la tabla de la izquierda es la que se usa para localizar registros en la tabla de la derecha.

RIGHT JOIN:

  • Trabaja igual que LEFT JOIN solo que la tabla derecha es la que localiza los registros en la tabla izquierda. Ejemplo: SELECT first_name nombre, department_name departamento from hr.employees e right join hr.departments d on e.department_id = d.department_id; Ejemplo: SELECT first_name nombre, department_name departamento from hr.employees e right join hr.departments d USING(department_id);
  • Al igual que en LEFT JOIN es importante el orden de las tablas.