Top Banner
 Claudio Angulo S. ADMI273-ADMI274
26

Lab5_SQL

Jul 20, 2015

Download

Documents

fdo_gomez_l
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 1/26

 

Claudio Angulo S.

ADMI273-ADMI274

Page 2: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 2/26

 

¿Qué es SQL?

• Lenguaje de consultaestructurado (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

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 3/26

 

Componentes

• Comandos

• Claúsulas

• Operadores

• Funciones

Page 4: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 4/26

 

Comandos• Existen 2 tipos:

 – DLL (definición de datos): Permiten crear ydefinir nuevas bases de datos, campos eíndices.

• CREATE

• DROP

• ALTER

 – DML (manipulación de datos): Permiten generarconsultas para ordenar, filtrar y extraer datos.

• SELECT

• INSERT

• UPDATE

Page 5: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 5/26

 

Cláusulas

• FROM

• WHERE

• GROUP BY

• HAVING

• ORDER BY

Page 6: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 6/26

 

Operadores

• Lógicos: –AND

 –OR –NOT

• Comparación: <, >, <>, <=,>=

Page 7: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 7/26

Funciones

• COUNT

• SUM

• MAX

• MIN

• AVG

 

Page 8: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 8/26

Consulta básica

SELECT A

FROM B

Donde A son los datos querequiero (columnas) y Bes de donde obtengo

esos datos. 

Page 9: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 9/26

Ejemplo

SELECT nombre, apellidos,edad

FROM estudiantes

 

Page 10: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 10/26

WHERE• A veces NO se necesitan obtener

datos tan generales, y es cuando seaplican filtros, con la clausula

WHERE.

SELECT A

FROM B

WHERE C

 

Page 11: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 11/26

Ejemplo

SELECT nombres, apellidos,edad

FROM estudiantesWHERE edad > 21

 

Page 12: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 12/26

Alias• Los alias son un nombre de

asignación que se le dan a los

recursos, en este caso lastablas.

• Luego se pueden llamar a sus

atributos desde ese alias,continuados con un punto(“.”) .

 

Page 13: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 13/26

Ejemplo

SELECT c.nombres, f.nombresFROM campus c, funcionarios f 

WHERE c.id_campus =f.id_campus

  

Page 14: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 14/26

Alias 2• Es posible dar un alias (nombre)

al titulo de las columnas de unatabla, que no es el mismo que

posee en la Base de Datos.• Ejemplo sin Alias:

Select l.titulo, l.agno

From libros lTITULO AGNO

Matemáticas 2007

Lenguaje y Comunicaciones 1998

Cs. Biológicas 2003  

Page 15: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 15/26

Ejemplo con Alias

TITULO AÑO

Matemáticas 2007

Lenguaje y Comunicaciones 1998

Cs. Biológicas 2003

Select l.titulo, l.agno As AÑO 

From libros l

  

Page 16: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 16/26

GROUP BYLa cláusula GROUP BY se usa paragenerar valores de agregado paracada fila del conjunto de resultados.

Cuando se usan sin una cláusulaGROUP BY, las funciones deagregado sólo devuelven un valor de

agregado para una instrucciónSELECT.

Ejemplo:

SELECT nombre_columna1, nombre_columna2 

FROM nombre_tabla

GROUP BY nombre_columna1

  

Page 17: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 17/26

GROUP BY: Ejemplo

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 nombre_tienda,SUM(ventas)FROM tienda_infoGROUP BY nombre_tienda

RESULTADOValdivia1800Temuco250

Osorno700  

Page 18: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 18/26

HAVINGEspecifica una condición debúsqueda para un grupo o agregado.HAVING sólo se puede utilizar con la

instrucción SELECT. Normalmente,HAVING se utiliza en una cláusulaGROUP BY. Cuando no se utiliza

GROUP BY, HAVING se comportacomo 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

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 19/26

HAVING: Ejemplo

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 nombre_tienda,SUM(ventas)FROM tienda_infoGROUP BY nombre_tiendaHAVING SUM(ventas) >1500

RESULTADOValdivia

1800

  

Page 20: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 20/26

ORDER BYEspecifica el orden utilizado en lascolumnas devueltas en unainstrucción SELECT. La cláusula

ORDER BY no es válida en vistas,funciones insertadas, tablasderivadas ni subconsultas.Ejemplo:

SELECT nombre_columna1, nombre_columna2 

FROM nombre_tabla

[ WHERE condicion]

ORDER BY nombre_columna1 [ ASC, DESC ]

  

Page 21: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 21/26

ORDER BY: Ejemplo

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 nombre_tienda,ventas, fechaFROM tienda_infoORDER BY ventas DESC

RESULTADOValdivia 1500 05- jan-2010Osorno 700 08- jan-2010Valdivia 300 08-

 jan-2010 

Page 22: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 22/26

OPERADORES LOGICOS(AND-OR)

C1 C2 C1 ANDC2

V V V

V F FF V F

F F F

C1 C2 C1 OR C2

V V VV F V

F V V

F F F

  

Page 23: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 23/26

OPERADORES

LOGICOS: Ejemplo ANDnombre_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’

RESULTADO

Valdivia 1500 05- jan-2010

  

Page 24: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 24/26

OPERADORES

LOGICOS: Ejemplo ORnombre_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’

RESULTADO

Valdivia 1500 05- jan-2010Valdivia 300 08- jan-2010Osorno 700 08-

 jan-2010 

Page 25: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 25/26

Modelo de Datos

Para este laboratorio usaremos laBase de Datos Biblioteca desarrollado

en la clase anterior.

Para ello use la imagen que seencuentra en siveduc,“Biblioteca.png” y cargue el archivo“Biblioteca.sql” en PLSQL como seenseño en la clase anterior.

Page 26: Lab5_SQL

5/17/2018 Lab5_SQL - slidepdf.com

http://slidepdf.com/reader/full/lab5sql 26/26