1. UNIVERSIDAD TÉCNICA PARTICULAR
DE LOJA
Escuela de Ciencias de la Computación
Fundamentos de Base de Datos
SQL: Manipulación de datos
Profesor: Ing. Juan Carlos Morocho
2. Lenguaje SQL
• Lenguaje de manipulación de datos (LMD, Data
Manipulation Language, o DML en inglés) es un
lenguaje proporcionado por el sistema de gestión
de base de datos que permite a los usuarios de la
misma llevar a cabo las tareas de consulta o
manipulación de los datos, organizados en la base
de datos.
• Una de sus características es el manejo del
álgebra y el cálculo relacional permitiendo lanzar
consultas con el fin de recuperar información de
interés de una base de datos, de una forma
sencilla.
3. Selección
Select [atributos que deseamos mostrar separados por comas]
From [tablas utilizadas, separadas por comas si hay mas de una]
Where [condiciones de filtrado]
Group by [atributos de agrupación]
Having [condiciones sobre los grupos]
Ejemplos:
select id_rol from rol;
select * from rol;
5. Alias
• También se puede agregar alias o nombres
alternativos.
• Ejemplos:
Select id_rol as Rol From rol;
Select id_rol Rol From rol;
Select id_rol as “Código Rol” From rol;
Select id_rol as “Rol” From rol r;
6. Consultas multitabla
• Algunas veces tenemos que obtener
información de más de una tabla, entonces
tenemos que aplicar joins para lograrlo.
Select t1.atr1, t2.atr2, t2.atr3, …
From Tabla1 t1, Tabla2 t2
Where t1.atr1 = t2.atr1;
N tablas 2 tablas
N-1 joins 2-1=1 joins
7. Operadores de comparación
• Tenemos los operadores comunes: = Igual
a, >= Mayor o igual a, > Mayor a, Menor a
<, <= Menor o igual a, <> Diferente
• BETWEEN...AND... que establece un límite o
intervalo 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.
8. Ejemplos
SELECT
id_emp, nombres, fecha_ingreso, departamento
FROM empleados e, departamentos d
WHERE e.id_depto = d.id_depto
AND fecha_ingreso > ’12-Oct-2004’
AND departamento <> ‘Contabilidad’
AND id_emp BETWEEN 1 AND 100
AND (nombres LIKE ‘A%’ OR
nombres in ‘JARAMILLO’,’ERAS’)
AND fecha_ingreso IS NOT NULL;
9. Group by
Group by se utiliza para agrupar filas y sacar datos
de ellas, como por ejemplo:
Ejemplo:
SELECT d.departamento_id, count(e.empleado_id )
FROM departamento as d, empleado as e
WHERE d.empleado_id = e.empleado_id
GROUP BY d.departamento_id;
10. Group by
Having se utiliza de manera parecida que el
where, solo que las condiciones del having se
aplican a los grupos:
Ejemplo:
SELECT d.departamento_id, count(e.empleado_id )
FROM departamento as d, empleado as e
WHERE d.empleado_id = e.empleado_id
GROUP BY d.departamento_id
HAVING count(e.empleado_id) > 1;
11. Otras sentencias
• INSERT INTO tabla (lista de atributos) VALUES
(lista de valores para cada atributo);
• INSERT INTO tabla VALUES (lista de valores para
todos los atributos);
• DELETE FROM tabla;
• DELETE FROM tabla WHERE <condición>;
• UPDATE tabla SET atributo = nuevo valor;
• UPDATE tabla SET atributo = nuevo valor WHERE
<condición>;
12. Ejemplos
• INSERT INTO oficina (id,nombre,direccion)
VALUES (101,’Contabilidad’,’San Cayetano Alto’);
• INSERT INTO oficina VALUES (110,’Proyectos,’San
Cayetano Alto’);
• DELETE FROM oficina;
• DELETE FROM oficina WHERE id = 101;
• UPDATE oficina SET ciudad= ‘Loja’;
• UPDATE oficina SET direccion = ‘San Cayetano
Alto WHERE id=110;