Visualizando Datos de varias Tablas de Introducción en SQL


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.

0 visualizaciones0 comentarios

Entradas Recientes

Ver todo