Está en la página 1de 13

TECNOLOGICO NACIONAL DE MEXICO

INSTITUTO TECNOLOGICO DE CERRO AZUL

UNIDAD: 2
Lenguaje de manipulación de datos

MATERIA:
Taller de Base de Datos.

 Practica 5

DOCENTE:
Blanca Lilia Cruz Salas

Carrera:
Ing. Sistemas Computacionales

Consultas
Combinadas
INTRODUCCIÓN
Consultas combinadas.
Habitualmente cuando necesitamos recuperar la información de una base de datos nos
encontramos con que dicha información se encuentra repartida en varias tablas,
referenciadas a través de varios códigos. De este modo si tuviéramos una tabla de ventas
con un campo cliente, dicho campo contendría el código del cliente de la tabla de
cliente. 
 Sin embargo, está forma de almacenar la información no resulta muy útil a la hora de
consultar los datos. SQL nos proporciona una forma fácil de mostrar la información
repartida en varias tablas, las consultas combinadas o JOINS.
    Las consultas combinadas pueden ser de tres tipos:
 Combinación interna
 Combinación externa
 Uniones
Combinación interna
Se realiza al utilizar la cláusula INNER JOIN. Su sintaxis es idéntica a la de una
consulta SELECT habitual, con la particularidad de que en la cláusula FROM sólo
aparece una tabla o vista, añadiéndose el resto de tablas a través de cláusulas INNER
JOIN.
Si tenemos una tabla de coches, en la que tenemos referenciada la tabla marca a través
del código de marca, y queremos consultar los registros que en ambas tablas se
correspondan, la instrucción quedaría de la siguiente manera

La cláusula INNER JOIN permite separar completamente las condiciones de


combinación con otros criterios, cuando tenemos consultas que combinan nueve o diez
tablas esto realmente se agradece.

Combinación externa
Estas combinaciones muy poco se usan. La combinación externa puede ser diestra o
siniestra, LEFT OUTER JOIN o RIGHT OUTER JOIN.
Con LEFT OUTER JOIN obtenemos todos los registros de la tabla que situemos a la
izquierda de la cláusula JOIN, mientras que con RIGHT OUTER JOIN obtenemos el
efecto contrario.
Combinación externa izquierda:
Esta consulta devolverá todos los registros de la tabla tCoches, independientemente de
que tengan marca o no. En el caso de que el coche no tenga marca se devolverá el valor
null para los campos de la tabla tMarcas.

Combinación externa derecha:


RIGHT OUTER JOIN.
Esta consulta devolverá los registros de la tabla tCoches que tengan marca relacionada y
todos los registros de la tabla tMarcas, tengan algún registro en tCoches o no.

 Unión
La cláusula UNION permite unir dos o más conjuntos de resultados en uno detrás del
otro como si se tratase de una única tabla. De este modo podemos obtener los registros
de más de una tabla "unidos".
Para utilizar la cláusula UNION debemos cumplir una serie de normas.
 Las consultas a unir deben tener el mismo número campos, y además los campos
deben ser del mismo tipo.
 Sólo puede haber una única clausula ORDER BY al final de la
sentencia SELECT.
    El siguiente ejemplo muestra el uso de UNION

Puede observarse el uso de la constante cero en la segunda lista de selección para hacer
coincidir el número y tipo de
campos que devuelve la consulta UNION.

OBJETIVOS
Adquirir la competencia para manejar el analizador de consultas de SQL y a la vez
aplicar los comandos de manipulación de datos realizando consultas compuestas
internas y externas con o sin condición.

MATERIAL
 Material bibliográfico básico
 Manejador de base de datos
 Simulador de SQL Server Ya
 Modelo de la base de datos

DESARROLLO
gPara realizar esta práctica debes haber hecho la práctica # 3, ya que se
utilizarán los registros que guardan las tablas de la base de datos que creaste.
Deberás entrar al entorno de DDL de tu manejador de Base de Datos, si utilizas
SQL Server deberás ejecutar el Analizador de Consultas, si es el My SQL,
activarás la base de datos creada y elegirás la pestaña que se llama SQL
PLANTEAMIENTO DE CONSULTAS COMBINADAS:

1.Inserta 4 perfiles de maestros en la tabla de PERFILES. Antes revisa que sean


diferentes a los que ya tienes registrados.
Abrir la base de Datos Escolares

Seleccionar la tabla Perfiles > SQL

Clic en INSERT y escribir el siguiente código > continuar


Mensajes de inserción correcta

Resultados.

2.Inserta 3 nombres de docentes en la tabla MAESTROS, cuidando que pertenezcan a


diferentes perfiles, teniendo en cuenta las CUPS ocupadas, definiendo correctamente el
código que le corresponde.
Ir a la tabla Maestro > seleccionar SQL
Escribir el siguiente código tomando en cuenda las FKs. > continuar

Mensaje:

Resultados.
3.Inserta 5 estudiantes más que pertenezcan a diferentes carreras, cuida relacionar con
códigos de carreras que se encuentren definidos. No olvides agregar sus datos
personales, tomando en cuenta la relación que existe entre ambas tablas.
Colocarnos en la tabla de Datos generales e insertar los Datos de los 5 nuevos alumnos.

Ir a SQL > Insert > colocamos la información correspondiente >continuar

Mensaje de éxito

Agregaremos los restantes


Se encuentran los 5 registros

Ir a la tabla alumnos > clic en SQL > insert.


Insertamos 5 alumnos en un solo código, respetando la FK de la tabla de Datos
Generales y carrera. Tener mucho cuidado a la hora de colocar las claves foráneas ya
que de lo entraría no se insertarán los registros, esto es porque las tablas están
relacionadas.

Mensaje de inserción de los 5 alumnos con éxito

Resultados

4.Se te solicita consultar los registros de la tabla MAESTROS que tengan


correspondencia con el IDENTIFICADOR DE PERFILES de la tabla PERFILES, así
como todos los registros de PERFILES que no encuentren correspondencia con
MAESTROS.
Utilizaremos el comando RIGHT OUTER JOIN para encontrar los registros.
Cocarnos en la tabla Maestros > SQL > escribir el código
La sintaxis es:
Lo que realizar es seleccionar el identificador de la tabla maestros, la CURP de los
maestros, el perfil a la que pertenece en la tabla maestros, el nombre del perfil se extrae
de la tabla perfiles. Después se coloca la línea de consulta combinada.

Este es el resultado. Muestra el Id_ Maestros y también el nombre de perfil de la tabla


Perfil

5.Se te solicita consultar el identificador y el nombre del estudiante de la tabla


DATOS_GENERALES y el semestre en el que se encuentra; además se solicita el
nombre de la carrera a la que pertenece cada estudiante, extraída de la tabla
CARRERAS. La consulta solo debe extraer los registros que encuentren
correspondencia con el ID_CARRERA en la tabla de CARRERAS.
Tomando en cuenta que la tabla que se relaciona con ambas es Alumnos.
Ir a la tabla alumnos para realizar la consulta > SQL > escribir código
SELECT datos_generales.CURP, datos_generales.Nombre_grales,
datos_generales.Apellido_P, datos_generales.Apellido_M, Semestre,
carreras.Id_Carrera, carreras.Nombre_Carrera FROM alumnos
INNER JOIN datos_generales
ON alumnos.CURP = datos_generales.CURP
INNER JOIN carreras
ON alumnos.Id_Carrera = carreras.Id_Carrera

La primera línea de código indica los registros que deseamos consultar, tomando en
cuenta que no todos los campos pertenecen a la tabla alumnos, se hace una referencia
para indicar a que tabla pertenecen, ejemplo datos_generales.Curp. Curp pertenece a la
tabla datos_generales al igual que nombre y apellidos. Es el mismo caso con
carreras.Id_Carrera, id_carrera pertenece a la tabla carreras. Se observa que semestre no
lleva pk ya que la consulta se está ejecutando en la tala alumnos.
La siguiente línea de INNER JOIN es para mencionar la tabla relacionada, donde se
desea obtener algunos registros. El comando ON ayuda identificar la tabla de consulta y
la clave foránea de la tabla relacionada = tabla relacionada con su clave principal.
Ejemplo alumnos.Id_ Carrera, carrera es clave foránea en la tabla alumnos. Entonces en
carreras.Id_Carrera, id_carrera es clave principal en la tabla carreras. Esta línea es para
tomar registros de la tabla datos personales y que puedadn ser consultadas en la tabla
alumnos.
Realizar lo mismo con la tabla Carreras.
Quedando de la siguiente forma:
Resultados de la consulta. Se encuentra el identificador y el nombre de los alumnos en
la tabla datos generales (CURP, Nombre, Apellidos). También el semestre de la tabla
alumnos, el identificador de la carrera y el nombre de la tabla carrera.

6.Guarda las instrucciones creadas porque en prácticas posteriores se van a ocupar.

CONCLUSIONES
Se alcanzó los objetivos predeterminados, reforzando el aprendizaje de manejo de base
de datos. Tomando en cuenta las consultas combinadas de forma coherente.
BIBLIOGRAFÍA

INNER JOIN EN PHP: Consulta Mysql para Unir Tablas Relacionadas


Recuperado el 20/ Mayo/2020
https://asociacionaepi.es/inner-join-en-php-consulta-mysql-para-unir-tablas-
relacionadas/

DEVJOKER
Recuperado el 18 / Mayo/2020
http://www.devjoker.com/contenidos/Articulos/17/Consultas-combinadas-JOINS.aspx

También podría gustarte