You are on page 1of 7

Base de datos II

LABORATORIO: CONSULTAS EN BASE DE DATOS SQL

CREACION DE LA BASE DE DATOS bd_rh

1. Implemente la siguiente base de datos de recursos humanos bd_rh

Control
Parametro: varchar(20) NOT NULL Empleado
Valor: varchar(20) NOT NULL Idempleado: char(5) NOT NULL
Apellido: varchar(20) NOT NULL
nombre: varchar(20) NOT NULL
Cargo fecingreso: date
Idcargo: char(3) NOT NULL email: varchar(40)
telefono: varchar(20)
Nombre: varchar(20) NOT NULL
Idcargo: char(3)
Sueldo_min: numeric(6,0) NOT NULL
Iddepartamento: numeric(3,0)
Sueldo_max: numeric(6,0) NOT NULL
Sueldo: numeric(6,0)
Comisin: numeric(6,0)
Departamento Jefe: char(5)
Iddepartamento: numeric(3)NOT NU
Nombre: varchar(20) NOT NULL
Idubicacion: char(3) NOT NULL
Ubicacin
Idubicacion: char(4) NOT NULL
Ciudad: varchar(15) NOT NULL
Direccin: varchar(30) NOT NULL

JCCP
Base de datos II
CONSULTA DE DATOS AVANZADO

Ordenando filas
Para ordenar un resultado debemos utilizar la clausula ORDER BY, su sintaxis se ilustra a
continuacin

ORDER BY {col_name expr position} [ASCDESC],

1. Consultar las ubicaciones ordenadas por ciudad

select * from ubicacion order by ciudad


Se observa que se genera
la consulta, el cual esta
ordenada por el campo
ciudad

2. Consultar los empleados del departamento 103 ordenados por nombre

select iddepartamento, idempleado, nombre, apellido from


empleado where iddepartamento='103' order by 3

Limitar el nmero de filas de la consulta


LIMIT no es un operador, es mas bien parte de la sintaxis de la sentencia SELECT, aqu su sintaxis

LIMIT [desplazamiento,] numero_filas

La clusula LIMIT puede ser usada para limitar el nmero de filas devuelto por la sentencia
SELECT, LIMIT toma uno o dos argumentos numricos, que deben ser constantes enteras. Con dos
argumentos, el primero especifica el desplazamiento de la primera fila a devolver, el segundo
especifica el mximo nmero de filas a devolver. El desplazamiento de la fila inicial es 0 (no 1)

3. Consultar el empleado con menor sueldo

select top 2 idempleado, nombre+', '+apellido as nombre, sueldo


from empleado order by sueldo desc

Se observa que se genera


la consulta, pero se limita
a mostrar un solo
registro. Top 2

JCCP
Base de datos II

Funcin CASE
Caso 1: segn el valor que toma una columna o expresin puede tomar diferentes valores, sintaxis

CASE{columna<expression>}
WHEN <valor1> THEN <valor de retorno 1>
WHEN <valor2> THEN <valor de retorno 2>


[ELSE <valor de retorno>]
END

4. Haga la consulta a la tabla ubicacion de tal manera que se modifique la columna ciudad, si se
trata de lima queda igual, en caso contrario cambia por provincia

select idubicacion, case ciudad when 'lima' then 'Lima' else


'provincia' end as ciudad from ubicacion

Caso 2: en funcin a condiciones se puede tomar diferentes valores, Sintaxis

CASE
WHEN <valor1> THEN <valor de retorno 1>
WHEN <valor2> THEN <valor de retorno 2>
WHEN <valor3> THEN <valor de retorno 3>


[ELSE <valor de retorno>]
END

5. Haga la consulta de empleados clasificando el sueldo segn el siguiente cuadro:

Sueldo Calificacin
[0, 2000> Bajo
[2000, 3000> Regular
[3000, 7000> Bueno
[7000, 15000> Muy bueno
[15000, 100000] Excelente

select idempleado, nombre, apellido, sueldo, case when


sueldo<2000 then 'bajo' when sueldo <3000 then 'regular' when
sueldo<7000 then 'bueno' when sueldo<15000 then 'muy bueno' else
'excelente' end as calificacion from empleado

JCCP
Base de datos II

Ejercicios
Escriba las siguientes consultas:

1. Realice la consulta de la tabla empleados mostrando los campos idempleado, nombre, apellido y
sueldo.
2. Realice la consulta de la tabla empleados mostrando los campos idempleado, nombre, apellido y
sueldo; mostrar los campos nombre y apellido en uno solo campo de nombre nombres
3. Consulte todos los registros de la tabla empleado, mostrando los campos iddepartameto,
nombre, apellido.
4. Realice la misma consulta anterior pero sin duplicar los cdigos de iddepartamento.
5. Consulte los empleados que pertenecen al departamento 105
6. Consulte los empleados que pertenecen al departamento 105 y al departamento 103
7. Consulte los empleados que tengan el sueldo menor o igual a 5000, considere los campos:
idempleado, nombres, sueldo; el campo nombres es la concatenacin de los campos nombre y
apellido.
8. Consulte los departamentos que estn ubicados en Lima
9. Consulte los cargos cuyo sueldo minino estn entre 3000 y 7000
10. Consulte los empleados que tienen el cargo C07 o C05
11. Haga la consulta de empleados excluyendo a los empleados que tengan en informacin NULL
12. Consulte los empleados que ingresaron el ao 2000 o su comisin sea NULL
13. Consulte los empleados cuyos apellidos empiecen con la letra c
14. Consulte los empleados cuyo cargo sea C05 ordenados por apellido
15. Consulte los cinco primeros empleados con mayor sueldo ordenados por sueldo en forma
descendente

JCCP
Base de datos II

SOLUCION VISUAL

Consulta 1 Consulta 2

Consulta 3 Consulta 4

Consulta 5

JCCP
Base de datos II

Consulta 6 Consulta 7

Consulta 8 Consulta 9

Consulta 10

Consulta 12

Consulta 11

Consulta 13

JCCP
Base de datos II

Consulta 14 Consulta 15

SOLUCION ESCRITA EN CODIGO SQL

Consulta 1

JCCP

You might also like