Lab5 sql
-
Upload
alejandro-campos -
Category
Documents
-
view
918 -
download
0
Transcript of Lab5 sql
![Page 1: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/1.jpg)
CONSULTAS SQL
Claudio Angulo S.
ADMI273-ADMI274
![Page 2: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/2.jpg)
¿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.
![Page 3: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/3.jpg)
Componentes• Comandos• Claúsulas• Operadores• Funciones
![Page 4: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/4.jpg)
Comandos• Existen 2 tipos:– DLL (definición de datos): Permiten crear y definir nuevas
bases de datos, campos e índices.• CREATE• DROP• ALTER
– DML (manipulación de datos): Permiten generar consultas para ordenar, filtrar y extraer datos.• SELECT• INSERT• UPDATE• DELETE
![Page 5: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/5.jpg)
Cláusulas• FROM• WHERE• GROUP BY• HAVING• ORDER BY
![Page 6: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/6.jpg)
Operadores• Lógicos: –AND–OR–NOT
• Comparación: <, >, <>, <=, >=
![Page 7: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/7.jpg)
Funciones• COUNT• SUM• MAX• MIN• AVG
![Page 8: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/8.jpg)
Consulta básica
SELECT AFROM B
Donde A son los datos que requiero (columnas) y B es de donde obtengo esos datos.
![Page 9: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/9.jpg)
EjemploSELECT nombre, apellidos, edadFROM estudiantes
![Page 10: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/10.jpg)
WHERE• A veces NO se necesitan obtener datos tan
generales, y es cuando se aplican filtros, con la clausula WHERE.
SELECT AFROM B WHERE C
Donde C, es una o más condiciones.
![Page 11: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/11.jpg)
EjemploSELECT nombres, apellidos, edadFROM estudiantesWHERE edad > 21
![Page 12: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/12.jpg)
Alias• Los alias son un nombre de
asignación 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 (“.”) .
![Page 13: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/13.jpg)
EjemploSELECT c.nombres, f.nombresFROM campus c, funcionarios f WHERE c.id_campus = f.id_campus
![Page 14: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/14.jpg)
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.agnoFrom libros l
TITULO AGNO
Matemáticas 2007
Lenguaje y Comunicaciones 1998
Cs. Biológicas 2003
![Page 15: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/15.jpg)
Ejemplo con Alias
TITULO AÑO
Matemáticas 2007
Lenguaje y Comunicaciones 1998
Cs. Biológicas 2003
Select l.titulo, l.agno As AÑOFrom libros l
![Page 16: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/16.jpg)
GROUP BYLa cláusula GROUP BY se usa para generar valores de agregado para cada fila del conjunto de resultados. Cuando se usan sin una cláusula GROUP BY, las funciones de agregado sólo devuelven un valor de agregado para una instrucción SELECT.Ejemplo:
SELECT nombre_columna1, nombre_columna2FROM nombre_tablaGROUP BY nombre_columna1
![Page 17: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/17.jpg)
GROUP BY: Ejemplonombre_tienda ventas fecha
Valdivia 1500 05-jan-2010
Temuco 250 07-jan-2010
Valdivia 300 08-jan-2010
Osorno 700 08-jan-2010
tienda_info
CONSULTASELECT nombre_tienda, SUM(ventas)FROM tienda_infoGROUP BY nombre_tienda
RESULTADOValdivia 1800Temuco 250Osorno 700
![Page 18: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/18.jpg)
HAVINGEspecifica una condición de búsqueda para un grupo o agregado. HAVING sólo se puede utilizar con la instrucción SELECT. Normalmente, HAVING se utiliza en una cláusula GROUP BY. Cuando no se utiliza GROUP BY, HAVING se comporta como una cláusula WHERE.
Ejemplo:
SELECT nombre_columna1, SUM(nombre_columna2)FROM nombre_tabla[ GROUP BY nombre_columna1 ]HAVING (condición de función aritmética)
![Page 19: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/19.jpg)
HAVING: Ejemplonombre_tienda ventas fecha
Valdivia 1500 05-jan-2010
Temuco 250 07-jan-2010
Valdivia 300 08-jan-2010
Osorno 700 08-jan-2010
tienda_info
CONSULTASELECT nombre_tienda, SUM(ventas)FROM tienda_infoGROUP BY nombre_tiendaHAVING SUM(ventas) > 1500
RESULTADOValdivia 1800
![Page 20: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/20.jpg)
ORDER BYEspecifica el orden utilizado en las columnas devueltas en una instrucción SELECT. La cláusula ORDER BY no es válida en vistas, funciones insertadas, tablas derivadas ni subconsultas.
Ejemplo:
SELECT nombre_columna1, nombre_columna2FROM nombre_tabla[ WHERE condicion]ORDER BY nombre_columna1 [ASC, DESC]
![Page 21: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/21.jpg)
ORDER BY: Ejemplonombre_tienda ventas fecha
Valdivia 1500 05-jan-2010
Temuco 250 07-jan-2010
Valdivia 300 08-jan-2010
Osorno 700 08-jan-2010
tienda_info
CONSULTASELECT nombre_tienda, ventas, fechaFROM tienda_infoORDER BY ventas DESC
RESULTADOValdivia 1500 05-jan-2010Osorno 700 08-jan-2010Valdivia 300 08-jan-2010Temuco 250 07-jan-2010
![Page 22: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/22.jpg)
OPERADORES LOGICOS(AND-OR)
C1 C2 C1 AND C2
V V V
V F F
F V F
F F F
C1 C2 C1 OR C2
V V V
V F V
F V V
F F F
![Page 23: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/23.jpg)
OPERADORES LOGICOS: Ejemplo AND
nombre_tienda ventas fecha
Valdivia 1500 05-jan-2010
Temuco 250 07-jan-2010
Valdivia 300 08-jan-2010
Osorno 700 08-jan-2010
tienda_info
CONSULTASELECT *FROM tienda_infoWHERE ventas > 500AND nombre_tienda = ‘Valdivia’
RESULTADOValdivia 1500 05-jan-2010
![Page 24: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/24.jpg)
OPERADORES LOGICOS: Ejemplo OR
nombre_tienda ventas fecha
Valdivia 1500 05-jan-2010
Temuco 250 07-jan-2010
Valdivia 300 08-jan-2010
Osorno 700 08-jan-2010
tienda_info
CONSULTASELECT *FROM tienda_infoWHERE ventas > 500OR nombre_tienda = ‘Valdivia’
RESULTADOValdivia 1500 05-jan-2010Valdivia 300 08-jan-2010Osorno 700 08-jan-2010
![Page 25: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/25.jpg)
Modelo de DatosPara 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 enseño en la clase anterior.
![Page 26: Lab5 sql](https://reader036.fdocumento.com/reader036/viewer/2022070319/55851246d8b42a6f7f8b4f5a/html5/thumbnails/26.jpg)