Académique Documents
Professionnel Documents
Culture Documents
ADMI273-ADMI274
Qu es SQL?
Lenguaje de consulta estructurado (SQL: Structured Query Languague) . Es un lenguaje de base de datos normalizado. Utilizado para consultar, modificar o eliminar datos en una Base de Datos.
Componentes
Comandos Clasulas Operadores Funciones
Comandos
Existen 2 tipos:
DLL (definicin de datos): Permiten crear y definir nuevas bases de datos, campos e ndices. CREATE DROP ALTER DML (manipulacin de datos): Permiten generar consultas para ordenar, filtrar y extraer datos. SELECT INSERT UPDATE DELETE
Clusulas
FROM WHERE GROUP BY HAVING ORDER BY
Operadores
Lgicos:
AND OR NOT
Funciones
COUNT SUM MAX MIN AVG
Consulta bsica
SELECT A FROM B
Donde A son los datos que requiero (columnas) y B es de donde obtengo esos datos.
Ejemplo
SELECT nombre, apellidos, edad FROM estudiantes
WHERE
A veces NO se necesitan obtener datos tan generales, y es cuando se aplican filtros, con la clausula WHERE. SELECT A FROM B WHERE C Donde C, es una o ms condiciones.
Ejemplo
SELECT nombres, apellidos, edad FROM estudiantes WHERE edad > 21
Alias
Los alias son un nombre de asignacin que se le dan a los recursos, en este caso las tablas. Luego se pueden llamar a sus atributos desde ese alias, continuados con un punto (.) .
Ejemplo
SELECT c.nombres, f.nombres FROM campus c, funcionarios f WHERE c.id_campus = f.id_campus
Alias 2
Es posible dar un alias (nombre) al titulo de las columnas de una tabla, que no es el mismo que posee en la Base de Datos.
Ejemplo sin Alias:
Select l.titulo, l.agno From libros l
TITULO Matemticas Lenguaje y Comunicaciones Cs. Biolgicas AGNO 2007 1998 2003
Lenguaje y Comunicaciones
Cs. Biolgicas
1998
2003
GROUP BY
La clusula GROUP BY se usa para generar valores de agregado para cada fila del conjunto de resultados. Cuando se usan sin una clusula GROUP BY, las funciones de agregado slo devuelven un valor de agregado para una instruccin SELECT.
Ejemplo:
CONSULTA
SELECT nombre_tienda, SUM(ventas) FROM tienda_info GROUP BY nombre_tienda
RESULTADO
Valdivia Temuco Osorno 1800 250 700
HAVING
Especifica una condicin de bsqueda para un grupo o agregado. HAVING slo se puede utilizar con la instruccin SELECT. Normalmente, HAVING se utiliza en una clusula GROUP BY. Cuando no se utiliza GROUP BY, HAVING se comporta como una clusula WHERE.
Ejemplo: SELECT nombre_columna1, SUM(nombre_columna2) FROM nombre_tabla [ GROUP BY nombre_columna1 ] HAVING (condicin de funcin aritmtica)
HAVING: Ejemplo
tienda_info nombre_tienda Valdivia Temuco Valdivia Osorno ventas 1500 250 300 700 fecha 05-jan-2010 07-jan-2010 08-jan-2010 08-jan-2010
CONSULTA
SELECT nombre_tienda, SUM(ventas) FROM tienda_info GROUP BY nombre_tienda HAVING SUM(ventas) > 1500
RESULTADO
Valdivia 1800
ORDER BY
Especifica el orden utilizado en las columnas devueltas en una instruccin SELECT. La clusula ORDER BY no es vlida en vistas, funciones insertadas, tablas derivadas ni subconsultas.
Ejemplo: SELECT nombre_columna1, nombre_columna2 FROM nombre_tabla [ WHERE condicion] ORDER BY nombre_columna1 [ASC, DESC]
RESULTADO CONSULTA
SELECT nombre_tienda, ventas, fecha FROM tienda_info ORDER BY ventas DESC Valdivia Osorno Valdivia Temuco 1500 700 300 250 05-jan-2010 08-jan-2010 08-jan-2010 07-jan-2010
OPERADORES LOGICOS
(AND-OR)
C1
V C1 V V F F C2 V F V F C1 AND C2 V F F F V F F
C2
V F V F
C1 OR C2
V V V F
CONSULTA
SELECT * FROM tienda_info WHERE ventas > 500 AND nombre_tienda = Valdivia
RESULTADO
Valdivia 1500 05-jan-2010
CONSULTA
SELECT * FROM tienda_info WHERE ventas > 500 OR nombre_tienda = Valdivia
RESULTADO
Valdivia Valdivia Osorno 1500 300 700 05-jan-2010 08-jan-2010 08-jan-2010
Modelo de Datos
Para este laboratorio usaremos la Base de Datos Biblioteca desarrollado en la clase anterior. Para ello use la imagen que se encuentra en siveduc, Biblioteca.png y cargue el archivo Biblioteca.sql en PLSQL como se enseo en la clase anterior.