You are on page 1of 8

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

FACULTAD DE ING. MINAS, GELOGIA Y CIVIL


ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

I. OBJETIVOS

 Realizar un repaso sobre el manejo de consultas avanzadas utilizando


sentencias SQL.
 Desarrollar junto con los estudiantes problemas propuestos.

II. MARCO TEÓRICO

LA INSTRUCCIÓN SELECT

La cláusula SELECT lista los datos a recuperar por la sentencia SELECT.


Los elementos o datos a seleccionar pueden ser columnas de la base de
datos o columnas a calcular por SQL cuando efectúa la consulta o también
el asterisco(*) para recuperar todos los campos de un fichero o tabla.

SINTAXIS COMPLETA:

SELECT [*,DISTINCT]/ ListaColumnas


FROM origenTabla
[WHERE condiciónBúsqueda] [Between, like, in] [ROWNUM]
[GROUP BY [Columna1, columna2….]expresiónAgruparPor]
[HAVING condiciónSeleccionGRupos]
[ORDER BY expresiónOrden [ASC / DESC] ]
[ COUNT | AVG| MAX | MIN |SUM (expresión)]

FUNCIONES
 Max, Función que retorna el Máximo valor.
Ejemplo:
Select MAX(salario) as “Mejor Pagado”
From salarios

Lab. Administración de Base de Datos 1 Prof. Elvira Fernández


(IS-443)
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

 Min, selecciona el mínimo

Ejemplo
Select MIN(salario) as “Peor Pagado”
From salarios

Order By
Select emp_id, salario as “Sueldo Pagado”
From salarios
Order by salario

OPERADORES DE COMPARACION
= Igual a
>, >= Mayor a, Mayor o igual a
<, <= Menor a, Menor o Igual a
<> Diferente
!> no es mayor que
!< no es menor que
BETWEEN...AND... Entre dos valores inclusive
IN(lista) Empareja valores con la lista
LIKE Empareja con un patrón
IS NULL Es un valor nulo?
NOT Verifica que no cumpla la condición

LIKE Y SUS COMODINES ORACLE


 LIKE ejecuta búsquedas en base a patrones:
 % coincide con una cadena de cero o más caracteres
 _ indica un único carácter

BETWEEN
Compara valores entre ambos datos, el mínimo el mayor, ambos son inclusivos.

SELECT nombre,salario
FROM empleado
WHERE salario BETWEEN 1000 AND 1500;

Lab. Administración de Base de Datos 2 Prof. Elvira Fernández


(IS-443)
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

CADENAS DE CARACTERES (VARCHAR2(N)):

Se delimitan utilizando comillas simples: ‘Hola’, ‘Una cadena’. Además de los


operadores de comparación e igualdad (<, >, =, !=, ...) otras funciones útiles para
trabajar con cadenas son:

• cad || cad : concatena dos cadenas.


• LENGTH(cad): devuelve la longitud de la cadena.
• LOWER(cad): convierte todas las letras de la cadena a minúsculas.
• UPPER(cad): convierte todas las letras de la cadena a mayúsculas.

ROWNUM
Devuelve, en una consulta, el número de fila actual. Resulta útil para limitar
número total de filas y se usa principalmente en la cláusula where de las
consultas.

AGRUPACIONES GROUP BY
 Group by se utiliza para agrupar filas y sacar datos de ellas, como por
ejemplo:

Select d.departamento_id, sum(s.salario), s.empleado_id


From departamento as d, salarios as s
Group by d.departamento

CONDICIONES DE AGRUPACIONES HAVING

 Having se utiliza de manera parecida que el where, solo que las


condiciones del having se aplican a los grupos:

Select d.departamento_id, sum(s.salario), s.empleado_id


From departamento as d, salarios as s
Group by d.departamento
Having sum(s.salario) > 20000

CONSULTAS MULTITABLAS

Lab. Administración de Base de Datos 3 Prof. Elvira Fernández


(IS-443)
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

a) COMBINCIONES INTERNAS

Las combinaciones internas usan un operador de comparación para hacer


coincidir las filas de dos tablas según los valores de las columnas
comunes de cada tabla. Un ejemplo sería recuperar todas las filas en las
que el número de identificación de estudiante es el mismo en las tablas
estudiantes y cursos

INNER JOIN
Una combinación interna es aquella en la que los valores de las columnas
que se están combinando se comparan mediante un operador de
comparación.

Ejemplo 01: Obtener el nombre de los proveedores y los productos que


estos suministran ordenados por el nombre del proveedor.

SELECT SUPPLIERS.COMPANYNAME,
PRODUCTS.PRODUCTNAME
FROM SUPPLIERS INNER JOIN PRODUCTS
ON SUPPLIERS.SUPPLIERID = PRODUCTS.SUPPLIERID
ORDER BY 1

III. EJERCICIOS RESUELTOS

Se tiene el siguiente diseño físico de tablas y relaciones. Ingresar al


siguiente esquema HR, y contraseña HR

Lab. Administración de Base de Datos 4 Prof. Elvira Fernández


(IS-443)
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

Responder las siguientes consultas:

a) Realizar una consulta que muestre el nombre del país


(COUNTRY_NAME) y el nombre de la región (REGION_NAME), a la cual
pertenece. Ordene los resultados por el nombre de región de forma
ascendente y el nombre de país de forma descendente. Utilice alias de
tabla

Resultado:

Lab. Administración de Base de Datos 5 Prof. Elvira Fernández


(IS-443)
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

b) Se requiere realizar un reporte para mostrar a los empleados(nombre ,


apellidos), el puesto laboral que ocupó, total de años que laboraron en la
empresa y el mes que ingresó a trabajar )

c) Realizar un reporte que muestre el apellido LAST_NAME del empleado en


mayúsculas, el nombre FIRST_NAME en minúsculas, concatenados en
una sola columna llamada Nombre _Apellido y separados por una coma y
un espacio En blanco. Que muestre el nombre del departamento de la
tabla DEPARTMENT al cual pertenece, nombre de su puesto de trabajo
JOB_TITLE, el salario anual (calcule el salario anual) con alias
salario_anual. Ordenar la salida por SALARIO de forma DESCENTENTE
y por puesto de forma ASCENDENTE.

Resultado:

Lab. Administración de Base de Datos 6 Prof. Elvira Fernández


(IS-443)
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

d) Hacer un reporte, para mostrar a todos los empleados que residen en el


país ¨ United States of America¨y cuyo nombre termine con la letra r
.(buscar al empleado independientemente si fue ingresado en mayúscula
o minúscula)

Resultados:

e) se quiere un reporte para obtener el total de empleados por


Departamento

f) Mostrar los departamentos que tienen más de 5 empleados

g) Mostrar el promedio de salario de los empleados por


departamento(departamento, nombre empleado, promedio salario)

IV. TAREA PARA CASA:


ESQUEMA HR
a) se quiere un reporte del promedio de empleados por departamento

b) Hacer un reporte, para mostrar los empleados cuyo nombre


empieza con la d y termina también con la d y que pertenezcan país de

Lab. Administración de Base de Datos 7 Prof. Elvira Fernández


(IS-443)
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA
FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS

Brazil.(buscar independientemente si fue ingresado en mayúscula o


minúscula)

ESQUEMA OE
c) Se requiere un reporte para mostrar la información de los productos
que se encuentren obsoletos, la descripción de la categoría a la que
pertenecen y la garantía que comprende entre 0-6 meses o 1-6 años que
tienen estos productos, ordenarlos por el nombre de producto
ascendentemente.

d) Se requiere un reporte para mostrar al cliente(nombre y apellido en


una sola columna), el monto total de pedido, el dia y el mes que realizó
un pedido. Mostrar solo si el monto total del pedido sobre pasa a los 100
soles

e) Se requiere hacer un inventario de los productos, para lo cual se


desea saber los productos de menor precio que pertenecen a la
descripción de categoría de monitores , los precios comprendidos entre
40 y 300 soles

INVESTIGUE Y APLIQUE MEDIANTE UN EJEMPLO AL ESQUEMA OE EL


USO DE ROLLUP, CUBE Y PIVOT(OPCIONAL). CAPTURE RESULTADOS
Y EXPLIQUE.

V. CONCLUSIONES
-

Lab. Administración de Base de Datos 8 Prof. Elvira Fernández


(IS-443)

You might also like